soff-date 1.2.3 → 1.3.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.
- package/README.md +21 -0
- package/dist/ar-Br72xIAo.d.ts +31 -0
- package/dist/ar-BzotUQyb.d.cts +31 -0
- package/dist/br-6mG4bT2v.d.cts +31 -0
- package/dist/br-BZijEnzK.d.ts +31 -0
- package/dist/co-BV19Ey8m.d.cts +31 -0
- package/dist/co-DqYkl-kH.d.ts +31 -0
- package/dist/core/types.d.cts +13 -1
- package/dist/core/types.d.ts +13 -1
- package/dist/i18n/en.cjs +1 -1
- package/dist/i18n/en.cjs.map +1 -1
- package/dist/i18n/en.js +1 -1
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/es.cjs +1 -1
- package/dist/i18n/es.cjs.map +1 -1
- package/dist/i18n/es.js +1 -1
- package/dist/i18n/es.js.map +1 -1
- package/dist/i18n/index.cjs +1 -1
- package/dist/i18n/index.cjs.map +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/index.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +15 -1
- package/dist/index.d.ts +15 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/locales/ar.cjs +1 -1
- package/dist/locales/ar.cjs.map +1 -1
- package/dist/locales/ar.d.cts +2 -1
- package/dist/locales/ar.d.ts +2 -1
- package/dist/locales/ar.js +1 -1
- package/dist/locales/ar.js.map +1 -1
- package/dist/locales/br.cjs +1 -1
- package/dist/locales/br.cjs.map +1 -1
- package/dist/locales/br.d.cts +2 -1
- package/dist/locales/br.d.ts +2 -1
- package/dist/locales/br.js +1 -1
- package/dist/locales/br.js.map +1 -1
- package/dist/locales/co.cjs +1 -1
- package/dist/locales/co.cjs.map +1 -1
- package/dist/locales/co.d.cts +2 -1
- package/dist/locales/co.d.ts +2 -1
- package/dist/locales/co.js +1 -1
- package/dist/locales/co.js.map +1 -1
- package/dist/locales/index.cjs +1 -1
- package/dist/locales/index.cjs.map +1 -1
- package/dist/locales/index.d.cts +74 -6
- package/dist/locales/index.d.ts +74 -6
- package/dist/locales/index.js +1 -1
- package/dist/locales/index.js.map +1 -1
- package/dist/locales/mx.cjs +1 -1
- package/dist/locales/mx.cjs.map +1 -1
- package/dist/locales/mx.d.cts +2 -1
- package/dist/locales/mx.d.ts +2 -1
- package/dist/locales/mx.js +1 -1
- package/dist/locales/mx.js.map +1 -1
- package/dist/locales/us.cjs +1 -1
- package/dist/locales/us.cjs.map +1 -1
- package/dist/locales/us.d.cts +2 -1
- package/dist/locales/us.d.ts +2 -1
- package/dist/locales/us.js +1 -1
- package/dist/locales/us.js.map +1 -1
- package/dist/manager-cCTMxYzq.d.cts +7 -0
- package/dist/manager-t1ZTM9nD.d.ts +7 -0
- package/dist/mx-BkWemPZ9.d.cts +31 -0
- package/dist/mx-CWOzeLjN.d.ts +31 -0
- package/dist/us-CIIYd5iU.d.ts +31 -0
- package/dist/us-CLaBwY8j.d.cts +31 -0
- package/package.json +1 -1
- package/dist/ar-DOBc0AKI.d.ts +0 -24
- package/dist/ar-DZGRazxg.d.cts +0 -24
- package/dist/br-Bxl7-z70.d.cts +0 -24
- package/dist/br-DyXv2cHh.d.ts +0 -24
- package/dist/co-BPDNBIJT.d.ts +0 -24
- package/dist/co-pYFH0DtD.d.cts +0 -24
- package/dist/mx-AFleoZyO.d.ts +0 -24
- package/dist/mx-aI-ieOc4.d.cts +0 -24
- package/dist/us-8v1NFxuj.d.cts +0 -24
- package/dist/us-BMlmAp3v.d.ts +0 -24
package/dist/locales/us.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/algorithms/easter.ts","../../src/core/algorithms/nth-weekday.ts","../../src/core/algorithms/shifts.ts","../../src/core/engine.ts","../../src/core/business.ts","../../src/i18n/en.ts","../../src/locales/us.ts"],"names":["getEasterSunday","year","a","b","c","d","e","f","g","h","i","k","l","m","month","day","getNthWeekday","weekday","expectedMonth","firstWeekday","result","last","diff","isValidDate","date","applyShift","rule","daysToNextMonday","resolveRule","easter","toISODate","resolveHolidays","definitions","names","def","rawDate","shifted","checkIsHoliday","isoDate","findNextHoliday","from","isoFrom","holidays","next","createInvalidDate","isWeekend","checkIsBusinessDay","addBusinessDays","startDate","amount","remaining","direction","getBusinessDaysBetween","endDate","start","end","count","current","en","getHolidays","options","isHoliday","getNextHoliday","isBusinessDay","businessDays","diffBusinessDays"],"mappings":"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","file":"us.js","sourcesContent":["/**\n * Calculates Easter Sunday (Meeus/Jones/Butcher algorithm)\n * Valid for Gregorian calendar (1583+)\n */\nexport function getEasterSunday(year: number): Date {\n if (!Number.isInteger(year) || year < 1583) {\n return new Date(Number.NaN);\n }\n\n const a = year % 19;\n const b = Math.floor(year / 100);\n const c = year % 100;\n const d = Math.floor(b / 4);\n const e = b % 4;\n const f = Math.floor((b + 8) / 25);\n const g = Math.floor((b - f + 1) / 3);\n const h = (19 * a + b - d - g + 15) % 30;\n const i = Math.floor(c / 4);\n const k = c % 4;\n const l = (32 + 2 * e + 2 * i - h - k) % 7;\n const m = Math.floor((a + 11 * h + 22 * l) / 451);\n const month = Math.floor((h + l - 7 * m + 114) / 31);\n const day = ((h + l - 7 * m + 114) % 31) + 1;\n\n return new Date(Date.UTC(year, month - 1, day));\n}\n","/**\n * Calculates the Nth weekday of a month\n * @param year - Year\n * @param month - Month (1-12)\n * @param weekday - Weekday (0=Sun, 1=Mon, ..., 6=Sat)\n * @param n - Occurrence (1=first, 2=second, -1=last)\n */\nexport function getNthWeekday(year: number, month: number, weekday: number, n: number): Date {\n if (\n !Number.isInteger(year) ||\n !Number.isInteger(month) ||\n month < 1 ||\n month > 12 ||\n !Number.isInteger(weekday) ||\n weekday < 0 ||\n weekday > 6 ||\n !Number.isInteger(n) ||\n n === 0\n ) {\n return new Date(Number.NaN);\n }\n\n const expectedMonth = month - 1;\n\n if (n > 0) {\n // From start of month\n const first = new Date(Date.UTC(year, month - 1, 1));\n const firstWeekday = first.getUTCDay();\n const diff = (weekday - firstWeekday + 7) % 7;\n const day = 1 + diff + (n - 1) * 7;\n const result = new Date(Date.UTC(year, month - 1, day));\n return result.getUTCMonth() === expectedMonth ? result : new Date(Number.NaN);\n } else {\n // From end of month (n = -1 = last)\n // month is 1-12. Date.UTC(year, month, 0) gives the last day of month 'month'\n const last = new Date(Date.UTC(year, month, 0));\n const lastWeekday = last.getUTCDay();\n const diff = (lastWeekday - weekday + 7) % 7;\n const day = last.getUTCDate() - diff + (n + 1) * 7;\n const result = new Date(Date.UTC(year, month - 1, day));\n return result.getUTCMonth() === expectedMonth ? result : new Date(Number.NaN);\n }\n}\n","import type { ShiftRule } from '../types';\n\nfunction isValidDate(date: Date): boolean {\n return date instanceof Date && Number.isFinite(date.getTime());\n}\n\n/**\n * Applies a shift rule to a date\n * @returns { date: Date, shifted: boolean }\n */\nexport function applyShift(date: Date, rule: ShiftRule): { date: Date; shifted: boolean } {\n if (!isValidDate(date)) {\n return { date, shifted: false };\n }\n\n const day = date.getUTCDay(); // 0=Sun, 6=Sat\n\n if (rule === 'none') {\n return { date, shifted: false };\n }\n\n const result = new Date(date);\n\n switch (rule) {\n case 'emiliani':\n case 'nextMonday': {\n // If it's already Monday (1), do not move\n if (day === 1) {\n return { date, shifted: false };\n }\n // Move to next Monday\n // (8 - day) % 7 gives days until next Monday\n // Ex: Sun(0) -> (8-0)%7 = 1 (+1 day) -> Mon\n // Ex: Sat(6) -> (8-6)%7 = 2 (+2 days) -> Mon\n // Ex: Wed(3) -> (8-3)%7 = 5 (+5 days) -> Mon\n const daysToNextMonday = (8 - day) % 7;\n result.setUTCDate(date.getUTCDate() + daysToNextMonday);\n break;\n }\n\n case 'observedUS':\n // Only affects weekends\n if (day === 0) {\n // Sunday -> Monday (+1)\n result.setUTCDate(date.getUTCDate() + 1);\n } else if (day === 6) {\n // Saturday -> Friday (-1)\n result.setUTCDate(date.getUTCDate() - 1);\n } else {\n return { date, shifted: false };\n }\n break;\n\n case 'nearestMonday':\n // Argentina rule:\n // Tue/Wed -> Previous Monday\n // Thu/Fri -> Next Monday\n if (day === 2) {\n // Tuesday -> Monday (-1)\n result.setUTCDate(date.getUTCDate() - 1);\n } else if (day === 3) {\n // Wednesday -> Monday (-2)\n result.setUTCDate(date.getUTCDate() - 2);\n } else if (day === 4) {\n // Thursday -> Next Monday (+4)\n result.setUTCDate(date.getUTCDate() + 4);\n } else if (day === 5) {\n // Friday -> Next Monday (+3)\n result.setUTCDate(date.getUTCDate() + 3);\n } else {\n return { date, shifted: false };\n }\n break;\n\n default:\n return { date, shifted: false };\n }\n\n return { date: result, shifted: true };\n}\n","import type { HolidayDefinition, HolidayRule, Holiday } from './types';\nimport { getEasterSunday } from './algorithms/easter';\nimport { getNthWeekday } from './algorithms/nth-weekday';\nimport { applyShift } from './algorithms/shifts';\n\n/** Resolves a rule to a concrete date */\nfunction resolveRule(rule: HolidayRule, year: number): Date | null {\n switch (rule.type) {\n case 'fixed':\n return new Date(Date.UTC(year, rule.month - 1, rule.day));\n\n case 'nthWeekday':\n return getNthWeekday(year, rule.month, rule.weekday, rule.n);\n\n case 'easterRelative': {\n const easter = getEasterSunday(year);\n const result = new Date(easter);\n result.setUTCDate(easter.getUTCDate() + rule.offset);\n return result;\n }\n\n case 'custom':\n return rule.calc(year);\n }\n}\n\n/** Formats Date to ISO string (date only) */\nfunction toISODate(date: Date): string {\n try {\n return date.toISOString().split('T')[0];\n } catch {\n return '';\n }\n}\n\n/** Checks if a date is valid */\nfunction isValidDate(date: Date): boolean {\n return date instanceof Date && !Number.isNaN(date.getTime());\n}\n\n/** Generates holidays for a year */\nexport function resolveHolidays(\n definitions: HolidayDefinition[],\n year: number,\n names: Record<string, string> = {},\n): Holiday[] {\n if (typeof year !== 'number' || !Number.isInteger(year)) {\n return [];\n }\n\n return definitions\n .map((def) => {\n const rawDate = resolveRule(def.rule, year);\n if (!rawDate || !isValidDate(rawDate)) return null;\n\n const { date, shifted } = applyShift(rawDate, def.shift ?? 'none');\n if (!isValidDate(date)) return null;\n\n return {\n date: toISODate(date),\n key: def.key,\n name: names[def.key] ?? def.key,\n ...(shifted && { isShifted: true }),\n };\n })\n .filter((h): h is Holiday => h !== null)\n .sort((a, b) => a.date.localeCompare(b.date));\n}\n\n/** Checks if a date is a holiday */\nexport function checkIsHoliday(\n definitions: HolidayDefinition[],\n date: Date,\n names?: Record<string, string>,\n): Holiday | null {\n if (!isValidDate(date)) return null;\n\n const year = date.getUTCFullYear();\n const isoDate = toISODate(date);\n if (!isoDate) return null;\n\n const holidays = resolveHolidays(definitions, year, names);\n return holidays.find((h) => h.date === isoDate) ?? null;\n}\n\n/** Gets the next holiday from a date */\nexport function findNextHoliday(\n definitions: HolidayDefinition[],\n from: Date,\n names?: Record<string, string>,\n): Holiday | null {\n if (!isValidDate(from)) return null;\n\n const isoFrom = toISODate(from);\n if (!isoFrom) return null;\n\n const year = from.getUTCFullYear();\n\n // Search in current year\n let holidays = resolveHolidays(definitions, year, names);\n let next = holidays.find((h) => h.date >= isoFrom);\n\n // If none, search in next year\n if (!next) {\n holidays = resolveHolidays(definitions, year + 1, names);\n next = holidays[0];\n }\n\n return next ?? null;\n}\n","import type { HolidayDefinition } from './types';\nimport { checkIsHoliday } from './engine';\n\nfunction isValidDate(date: Date): boolean {\n return date instanceof Date && Number.isFinite(date.getTime());\n}\n\nfunction createInvalidDate(): Date {\n return new Date(Number.NaN);\n}\n\n/**\n * Checks if a date is a weekend (Saturday or Sunday)\n * Uses UTC date to avoid timezone issues\n */\nexport function isWeekend(date: Date): boolean {\n const day = date.getUTCDay();\n return day === 0 || day === 6; // 0 = Sunday, 6 = Saturday\n}\n\n/**\n * Checks if a date is a business day (not weekend AND not holiday)\n */\nexport function checkIsBusinessDay(definitions: HolidayDefinition[], date: Date): boolean {\n if (!isValidDate(date)) return false;\n if (isWeekend(date)) return false;\n return checkIsHoliday(definitions, date) === null;\n}\n\n/**\n * Adds (or subtracts) business days to a date\n */\nexport function addBusinessDays(\n definitions: HolidayDefinition[],\n startDate: Date,\n amount: number,\n): Date {\n if (!isValidDate(startDate) || !Number.isFinite(amount)) {\n return createInvalidDate();\n }\n\n const result = new Date(startDate);\n let remaining = Math.abs(amount);\n const direction = amount >= 0 ? 1 : -1;\n\n while (remaining > 0) {\n result.setUTCDate(result.getUTCDate() + direction);\n if (checkIsBusinessDay(definitions, result)) {\n remaining--;\n }\n }\n\n return result;\n}\n\n/**\n * Calculates the number of business days between two dates\n * Returns the number of days to add to startDate to get endDate (can be negative)\n * If startDate and endDate are the same, returns 0\n */\nexport function getBusinessDaysBetween(\n definitions: HolidayDefinition[],\n startDate: Date,\n endDate: Date,\n): number {\n if (!isValidDate(startDate) || !isValidDate(endDate)) {\n return Number.NaN;\n }\n\n const start = new Date(startDate);\n const end = new Date(endDate);\n\n // Reset hours to avoid issues with daylight saving time or partial days\n start.setUTCHours(0, 0, 0, 0);\n end.setUTCHours(0, 0, 0, 0);\n\n if (start.getTime() === end.getTime()) return 0;\n\n const direction = start < end ? 1 : -1;\n let count = 0;\n const current = new Date(start);\n\n // If direction is positive, we count days starting from start+1 until end\n // If direction is negative, we count days starting from start-1 until end\n\n while (current.getTime() !== end.getTime()) {\n current.setUTCDate(current.getUTCDate() + direction);\n if (checkIsBusinessDay(definitions, current)) {\n count += direction;\n }\n }\n\n return count;\n}\n","import type { HolidayNames } from '../core/types';\n\nexport const en: HolidayNames = {\n // Common\n newYear: \"New Year's Day\",\n epiphany: 'Epiphany',\n holyThursday: 'Holy Thursday',\n goodFriday: 'Good Friday',\n easterSunday: 'Easter Sunday',\n laborDay: 'Labor Day',\n ascension: 'Ascension Day',\n corpusChristi: 'Corpus Christi',\n christmas: 'Christmas Day',\n christmasEve: 'Christmas Eve',\n newYearsEve: \"New Year's Eve\",\n allSaints: \"All Saints' Day\",\n\n // Colombia\n saintJoseph: \"Saint Joseph's Day\",\n sacredHeart: 'Sacred Heart',\n saintPeterPaul: 'Saint Peter and Saint Paul',\n independenceDay: 'Independence Day',\n boyacaBattle: 'Battle of Boyacá',\n assumptionMary: 'Assumption of Mary',\n columbusDay: 'Columbus Day',\n independenceCartagena: 'Independence of Cartagena',\n immaculateConception: 'Immaculate Conception',\n chiquinquira: 'Our Lady of the Rosary of Chiquinquirá',\n\n // Mexico\n constitutionDay: 'Constitution Day',\n benitoJuarez: 'Benito Juárez Birthday',\n revolutionDay: 'Revolution Day',\n virginGuadalupe: 'Our Lady of Guadalupe',\n\n // USA\n mlkDay: 'Martin Luther King Jr. Day',\n presidentsDay: \"Presidents' Day\",\n memorialDay: 'Memorial Day',\n independenceDayUS: 'Independence Day',\n thanksgivingDay: 'Thanksgiving Day',\n veteransDay: 'Veterans Day',\n};\n","import type { HolidayDefinition, Holiday, HolidayNames } from '../core/types';\nimport { resolveHolidays, checkIsHoliday, findNextHoliday } from '../core/engine';\nimport { checkIsBusinessDay, addBusinessDays, getBusinessDaysBetween } from '../core/business';\nimport { en } from '../i18n/en';\n\nconst definitions: HolidayDefinition[] = [\n // Fijos con observed\n {\n key: 'newYear',\n rule: { type: 'fixed', month: 1, day: 1 },\n shift: 'observedUS',\n },\n {\n key: 'independenceDayUS',\n rule: { type: 'fixed', month: 7, day: 4 },\n shift: 'observedUS',\n },\n {\n key: 'veteransDay',\n rule: { type: 'fixed', month: 11, day: 11 },\n shift: 'observedUS',\n },\n {\n key: 'christmas',\n rule: { type: 'fixed', month: 12, day: 25 },\n shift: 'observedUS',\n },\n\n // Nth weekday\n {\n key: 'mlkDay',\n rule: { type: 'nthWeekday', month: 1, weekday: 1, n: 3 },\n },\n {\n key: 'presidentsDay',\n rule: { type: 'nthWeekday', month: 2, weekday: 1, n: 3 },\n },\n {\n key: 'memorialDay',\n rule: { type: 'nthWeekday', month: 5, weekday: 1, n: -1 },\n },\n {\n key: 'laborDay',\n rule: { type: 'nthWeekday', month: 9, weekday: 1, n: 1 },\n },\n {\n key: 'columbusDay',\n rule: { type: 'nthWeekday', month: 10, weekday: 1, n: 2 },\n },\n {\n key: 'thanksgivingDay',\n rule: { type: 'nthWeekday', month: 11, weekday: 4, n: 4 },\n },\n];\n\nexport interface GetHolidaysOptions {\n lang?: HolidayNames;\n}\n\nexport function getHolidays(year: number, options?: GetHolidaysOptions): Holiday[] {\n const names = options?.lang ?? en;\n return resolveHolidays(definitions, year, names);\n}\n\nexport function isHoliday(date: Date, options?: GetHolidaysOptions): Holiday | null {\n const names = options?.lang ?? en;\n return checkIsHoliday(definitions, date, names);\n}\n\nexport function getNextHoliday(\n from: Date = new Date(),\n options?: GetHolidaysOptions,\n): Holiday | null {\n const names = options?.lang ?? en;\n return findNextHoliday(definitions, from, names);\n}\n\nexport function isBusinessDay(date: Date): boolean {\n return checkIsBusinessDay(definitions, date);\n}\n\nexport function businessDays(date: Date, amount: number): Date {\n return addBusinessDays(definitions, date, amount);\n}\n\nexport function diffBusinessDays(startDate: Date, endDate: Date): number {\n return getBusinessDaysBetween(definitions, startDate, endDate);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/core/algorithms/easter.ts","../../src/core/algorithms/nth-weekday.ts","../../src/core/algorithms/shifts.ts","../../src/core/engine.ts","../../src/core/business.ts","../../src/core/manager.ts","../../src/i18n/en.ts","../../src/locales/us.ts"],"names":["getEasterSunday","year","b","c","d","e","f","g","h","i","k","m","month","day","getNthWeekday","weekday","n","expectedMonth","firstWeekday","result","last","diff","isValidDate","date","applyShift","rule","daysToNextMonday","resolveRule","easter","toISODate","resolveHolidays","definitions","names","def","rawDate","shifted","a","checkIsHoliday","isoDate","findNextHoliday","from","isoFrom","holidays","next","createInvalidDate","isWeekend","checkIsBusinessDay","addBusinessDays","startDate","amount","remaining","direction","getBusinessDaysBetween","endDate","start","end","count","current","parseTime","timeStr","hours","minutes","getTimeInMinutes","getBusinessHoursBetween","businessHours","startH","startM","endH","endM","startDayMin","endDayMin","t1","t2","isNegative","totalMinutes","currentMin","periodEndMin","periodStartMin","addBusinessHours","amountInHours","remainingMinutes","min","availableMinutes","createHolidayManager","defaultLang","options","en","getHolidays","isHoliday","getNextHoliday","isBusinessDay","businessDays","diffBusinessDays","diffBusinessHours"],"mappings":"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","file":"us.js","sourcesContent":["/**\n * Calculates Easter Sunday (Meeus/Jones/Butcher algorithm)\n * Valid for Gregorian calendar (1583+)\n */\nexport function getEasterSunday(year: number): Date {\n if (!Number.isInteger(year) || year < 1583) {\n return new Date(Number.NaN);\n }\n\n const a = year % 19;\n const b = Math.floor(year / 100);\n const c = year % 100;\n const d = Math.floor(b / 4);\n const e = b % 4;\n const f = Math.floor((b + 8) / 25);\n const g = Math.floor((b - f + 1) / 3);\n const h = (19 * a + b - d - g + 15) % 30;\n const i = Math.floor(c / 4);\n const k = c % 4;\n const l = (32 + 2 * e + 2 * i - h - k) % 7;\n const m = Math.floor((a + 11 * h + 22 * l) / 451);\n const month = Math.floor((h + l - 7 * m + 114) / 31);\n const day = ((h + l - 7 * m + 114) % 31) + 1;\n\n return new Date(Date.UTC(year, month - 1, day));\n}\n","/**\n * Calculates the Nth weekday of a month\n * @param year - Year\n * @param month - Month (1-12)\n * @param weekday - Weekday (0=Sun, 1=Mon, ..., 6=Sat)\n * @param n - Occurrence (1=first, 2=second, -1=last)\n */\nexport function getNthWeekday(year: number, month: number, weekday: number, n: number): Date {\n if (\n !Number.isInteger(year) ||\n !Number.isInteger(month) ||\n month < 1 ||\n month > 12 ||\n !Number.isInteger(weekday) ||\n weekday < 0 ||\n weekday > 6 ||\n !Number.isInteger(n) ||\n n === 0\n ) {\n return new Date(Number.NaN);\n }\n\n const expectedMonth = month - 1;\n\n if (n > 0) {\n // From start of month\n const first = new Date(Date.UTC(year, month - 1, 1));\n const firstWeekday = first.getUTCDay();\n const diff = (weekday - firstWeekday + 7) % 7;\n const day = 1 + diff + (n - 1) * 7;\n const result = new Date(Date.UTC(year, month - 1, day));\n return result.getUTCMonth() === expectedMonth ? result : new Date(Number.NaN);\n } else {\n // From end of month (n = -1 = last)\n // month is 1-12. Date.UTC(year, month, 0) gives the last day of month 'month'\n const last = new Date(Date.UTC(year, month, 0));\n const lastWeekday = last.getUTCDay();\n const diff = (lastWeekday - weekday + 7) % 7;\n const day = last.getUTCDate() - diff + (n + 1) * 7;\n const result = new Date(Date.UTC(year, month - 1, day));\n return result.getUTCMonth() === expectedMonth ? result : new Date(Number.NaN);\n }\n}\n","import type { ShiftRule } from '../types';\n\nfunction isValidDate(date: Date): boolean {\n return date instanceof Date && Number.isFinite(date.getTime());\n}\n\n/**\n * Applies a shift rule to a date\n * @returns { date: Date, shifted: boolean }\n */\nexport function applyShift(date: Date, rule: ShiftRule): { date: Date; shifted: boolean } {\n if (!isValidDate(date)) {\n return { date, shifted: false };\n }\n\n const day = date.getUTCDay(); // 0=Sun, 6=Sat\n\n if (rule === 'none') {\n return { date, shifted: false };\n }\n\n const result = new Date(date);\n\n switch (rule) {\n case 'emiliani':\n case 'nextMonday': {\n // If it's already Monday (1), do not move\n if (day === 1) {\n return { date, shifted: false };\n }\n // Move to next Monday\n // (8 - day) % 7 gives days until next Monday\n // Ex: Sun(0) -> (8-0)%7 = 1 (+1 day) -> Mon\n // Ex: Sat(6) -> (8-6)%7 = 2 (+2 days) -> Mon\n // Ex: Wed(3) -> (8-3)%7 = 5 (+5 days) -> Mon\n const daysToNextMonday = (8 - day) % 7;\n result.setUTCDate(date.getUTCDate() + daysToNextMonday);\n break;\n }\n\n case 'observedUS':\n // Only affects weekends\n if (day === 0) {\n // Sunday -> Monday (+1)\n result.setUTCDate(date.getUTCDate() + 1);\n } else if (day === 6) {\n // Saturday -> Friday (-1)\n result.setUTCDate(date.getUTCDate() - 1);\n } else {\n return { date, shifted: false };\n }\n break;\n\n case 'nearestMonday':\n // Argentina rule:\n // Tue/Wed -> Previous Monday\n // Thu/Fri -> Next Monday\n if (day === 2) {\n // Tuesday -> Monday (-1)\n result.setUTCDate(date.getUTCDate() - 1);\n } else if (day === 3) {\n // Wednesday -> Monday (-2)\n result.setUTCDate(date.getUTCDate() - 2);\n } else if (day === 4) {\n // Thursday -> Next Monday (+4)\n result.setUTCDate(date.getUTCDate() + 4);\n } else if (day === 5) {\n // Friday -> Next Monday (+3)\n result.setUTCDate(date.getUTCDate() + 3);\n } else {\n return { date, shifted: false };\n }\n break;\n\n default:\n return { date, shifted: false };\n }\n\n return { date: result, shifted: true };\n}\n","import type { HolidayDefinition, HolidayRule, Holiday } from './types';\nimport { getEasterSunday } from './algorithms/easter';\nimport { getNthWeekday } from './algorithms/nth-weekday';\nimport { applyShift } from './algorithms/shifts';\n\n/** Resolves a rule to a concrete date */\nfunction resolveRule(rule: HolidayRule, year: number): Date | null {\n switch (rule.type) {\n case 'fixed':\n return new Date(Date.UTC(year, rule.month - 1, rule.day));\n\n case 'nthWeekday':\n return getNthWeekday(year, rule.month, rule.weekday, rule.n);\n\n case 'easterRelative': {\n const easter = getEasterSunday(year);\n const result = new Date(easter);\n result.setUTCDate(easter.getUTCDate() + rule.offset);\n return result;\n }\n\n case 'custom':\n return rule.calc(year);\n }\n}\n\n/** Formats Date to ISO string (date only) */\nfunction toISODate(date: Date): string {\n try {\n return date.toISOString().split('T')[0];\n } catch {\n return '';\n }\n}\n\n/** Checks if a date is valid */\nfunction isValidDate(date: Date): boolean {\n return date instanceof Date && !Number.isNaN(date.getTime());\n}\n\n/** Generates holidays for a year */\nexport function resolveHolidays(\n definitions: HolidayDefinition[],\n year: number,\n names: Record<string, string> = {},\n): Holiday[] {\n if (typeof year !== 'number' || !Number.isInteger(year)) {\n return [];\n }\n\n return definitions\n .map((def) => {\n const rawDate = resolveRule(def.rule, year);\n if (!rawDate || !isValidDate(rawDate)) return null;\n\n const { date, shifted } = applyShift(rawDate, def.shift ?? 'none');\n if (!isValidDate(date)) return null;\n\n return {\n date: toISODate(date),\n key: def.key,\n name: names[def.key] ?? def.key,\n ...(shifted && { isShifted: true }),\n };\n })\n .filter((h): h is Holiday => h !== null)\n .sort((a, b) => a.date.localeCompare(b.date));\n}\n\n/** Checks if a date is a holiday */\nexport function checkIsHoliday(\n definitions: HolidayDefinition[],\n date: Date,\n names?: Record<string, string>,\n): Holiday | null {\n if (!isValidDate(date)) return null;\n\n const year = date.getUTCFullYear();\n const isoDate = toISODate(date);\n if (!isoDate) return null;\n\n const holidays = resolveHolidays(definitions, year, names);\n return holidays.find((h) => h.date === isoDate) ?? null;\n}\n\n/** Gets the next holiday from a date */\nexport function findNextHoliday(\n definitions: HolidayDefinition[],\n from: Date,\n names?: Record<string, string>,\n): Holiday | null {\n if (!isValidDate(from)) return null;\n\n const isoFrom = toISODate(from);\n if (!isoFrom) return null;\n\n const year = from.getUTCFullYear();\n\n // Search in current year\n let holidays = resolveHolidays(definitions, year, names);\n let next = holidays.find((h) => h.date >= isoFrom);\n\n // If none, search in next year\n if (!next) {\n holidays = resolveHolidays(definitions, year + 1, names);\n next = holidays[0];\n }\n\n return next ?? null;\n}\n","import type { HolidayDefinition } from './types';\nimport { checkIsHoliday } from './engine';\n\nfunction isValidDate(date: Date): boolean {\n return date instanceof Date && Number.isFinite(date.getTime());\n}\n\nfunction createInvalidDate(): Date {\n return new Date(Number.NaN);\n}\n\n/**\n * Checks if a date is a weekend (Saturday or Sunday)\n * Uses UTC date to avoid timezone issues\n */\nexport function isWeekend(date: Date): boolean {\n const day = date.getUTCDay();\n return day === 0 || day === 6; // 0 = Sunday, 6 = Saturday\n}\n\n/**\n * Checks if a date is a business day (not weekend AND not holiday)\n */\nexport function checkIsBusinessDay(definitions: HolidayDefinition[], date: Date): boolean {\n if (!isValidDate(date)) return false;\n if (isWeekend(date)) return false;\n return checkIsHoliday(definitions, date) === null;\n}\n\n/**\n * Adds (or subtracts) business days to a date\n */\nexport function addBusinessDays(\n definitions: HolidayDefinition[],\n startDate: Date,\n amount: number,\n): Date {\n if (!isValidDate(startDate) || !Number.isFinite(amount)) {\n return createInvalidDate();\n }\n\n const result = new Date(startDate);\n let remaining = Math.abs(amount);\n const direction = amount >= 0 ? 1 : -1;\n\n while (remaining > 0) {\n result.setUTCDate(result.getUTCDate() + direction);\n if (checkIsBusinessDay(definitions, result)) {\n remaining--;\n }\n }\n\n return result;\n}\n\n/**\n * Calculates the number of business days between two dates\n * Returns the number of days to add to startDate to get endDate (can be negative)\n * If startDate and endDate are the same, returns 0\n */\nexport function getBusinessDaysBetween(\n definitions: HolidayDefinition[],\n startDate: Date,\n endDate: Date,\n): number {\n if (!isValidDate(startDate) || !isValidDate(endDate)) {\n return Number.NaN;\n }\n\n const start = new Date(startDate);\n const end = new Date(endDate);\n\n // Reset hours to avoid issues with daylight saving time or partial days\n start.setUTCHours(0, 0, 0, 0);\n end.setUTCHours(0, 0, 0, 0);\n\n if (start.getTime() === end.getTime()) return 0;\n\n const direction = start < end ? 1 : -1;\n let count = 0;\n const current = new Date(start);\n\n // If direction is positive, we count days starting from start+1 until end\n // If direction is negative, we count days starting from start-1 until end\n\n while (current.getTime() !== end.getTime()) {\n current.setUTCDate(current.getUTCDate() + direction);\n if (checkIsBusinessDay(definitions, current)) {\n count += direction;\n }\n }\n\n return count;\n}\n\nfunction parseTime(timeStr: string): { h: number; m: number } {\n const [hours, minutes] = timeStr.split(':').map(Number);\n return { h: hours || 0, m: minutes || 0 };\n}\n\nfunction getTimeInMinutes(date: Date): number {\n return date.getUTCHours() * 60 + date.getUTCMinutes();\n}\n\n/**\n * Calculates the number of business hours between two dates\n */\nexport function getBusinessHoursBetween(\n definitions: HolidayDefinition[],\n startDate: Date,\n endDate: Date,\n businessHours: { start: string; end: string } = { start: '08:00', end: '17:00' },\n): number {\n if (!isValidDate(startDate) || !isValidDate(endDate)) {\n return Number.NaN;\n }\n\n const { h: startH, m: startM } = parseTime(businessHours.start);\n const { h: endH, m: endM } = parseTime(businessHours.end);\n const startDayMin = startH * 60 + startM;\n const endDayMin = endH * 60 + endM;\n\n if (startDayMin >= endDayMin) return 0; // Invalid business hours\n\n const t1 = startDate.getTime();\n const t2 = endDate.getTime();\n if (t1 === t2) return 0;\n\n const start = new Date(Math.min(t1, t2));\n const end = new Date(Math.max(t1, t2));\n const isNegative = t1 > t2;\n\n let totalMinutes = 0;\n const current = new Date(start);\n\n while (current.getTime() < end.getTime()) {\n if (checkIsBusinessDay(definitions, current)) {\n const currentMin = getTimeInMinutes(current);\n\n // If current date is the same day as end date\n const isEndDay =\n current.getUTCFullYear() === end.getUTCFullYear() &&\n current.getUTCMonth() === end.getUTCMonth() &&\n current.getUTCDate() === end.getUTCDate();\n\n const periodEndMin = isEndDay ? Math.min(getTimeInMinutes(end), endDayMin) : endDayMin;\n const periodStartMin = Math.max(currentMin, startDayMin);\n\n if (periodEndMin > periodStartMin) {\n totalMinutes += periodEndMin - periodStartMin;\n }\n }\n\n // Move to next day at 00:00\n current.setUTCDate(current.getUTCDate() + 1);\n current.setUTCHours(0, 0, 0, 0);\n }\n\n return isNegative ? -(totalMinutes / 60) : totalMinutes / 60;\n}\n\n/**\n * Adds business hours to a date\n */\nexport function addBusinessHours(\n definitions: HolidayDefinition[],\n startDate: Date,\n amountInHours: number,\n businessHours: { start: string; end: string } = { start: '08:00', end: '17:00' },\n): Date {\n if (!isValidDate(startDate) || !Number.isFinite(amountInHours)) {\n return createInvalidDate();\n }\n\n if (amountInHours === 0) return new Date(startDate);\n\n const { h: startH, m: startM } = parseTime(businessHours.start);\n const { h: endH, m: endM } = parseTime(businessHours.end);\n const startDayMin = startH * 60 + startM;\n const endDayMin = endH * 60 + endM;\n const minutesPerDay = endDayMin - startDayMin;\n\n if (minutesPerDay <= 0) return createInvalidDate();\n\n const isNegative = amountInHours < 0;\n let remainingMinutes = Math.abs(amountInHours) * 60;\n\n const current = new Date(startDate);\n\n // Snap to start or end of business hours if outside\n if (!checkIsBusinessDay(definitions, current)) {\n if (isNegative) {\n current.setUTCHours(endH, endM, 0, 0);\n } else {\n current.setUTCHours(startH, startM, 0, 0);\n }\n } else {\n const min = getTimeInMinutes(current);\n if (min < startDayMin) {\n if (isNegative) {\n // move to previous day end\n current.setUTCDate(current.getUTCDate() - 1);\n current.setUTCHours(endH, endM, 0, 0);\n } else {\n current.setUTCHours(startH, startM, 0, 0);\n }\n } else if (min > endDayMin) {\n if (isNegative) {\n current.setUTCHours(endH, endM, 0, 0);\n } else {\n // move to next day start\n current.setUTCDate(current.getUTCDate() + 1);\n current.setUTCHours(startH, startM, 0, 0);\n }\n }\n }\n\n while (remainingMinutes > 0) {\n if (!checkIsBusinessDay(definitions, current)) {\n current.setUTCDate(current.getUTCDate() + (isNegative ? -1 : 1));\n current.setUTCHours(isNegative ? endH : startH, isNegative ? endM : startM, 0, 0);\n continue;\n }\n\n const min = getTimeInMinutes(current);\n let availableMinutes = isNegative ? min - startDayMin : endDayMin - min;\n\n if (availableMinutes < 0) availableMinutes = 0;\n\n if (remainingMinutes <= availableMinutes) {\n if (isNegative) {\n current.setUTCMinutes(current.getUTCMinutes() - remainingMinutes);\n } else {\n current.setUTCMinutes(current.getUTCMinutes() + remainingMinutes);\n }\n remainingMinutes = 0;\n } else {\n remainingMinutes -= availableMinutes;\n current.setUTCDate(current.getUTCDate() + (isNegative ? -1 : 1));\n current.setUTCHours(isNegative ? endH : startH, isNegative ? endM : startM, 0, 0);\n }\n }\n\n return current;\n}\n","import type { HolidayDefinition, Holiday, HolidayNames } from './types.js';\nimport { resolveHolidays, checkIsHoliday, findNextHoliday } from './engine.js';\nimport {\n checkIsBusinessDay,\n addBusinessDays,\n getBusinessDaysBetween,\n addBusinessHours,\n getBusinessHoursBetween,\n} from './business.js';\n\nexport interface GetHolidaysOptions {\n lang?: HolidayNames;\n}\n\nexport function createHolidayManager(definitions: HolidayDefinition[], defaultLang: HolidayNames) {\n return {\n getHolidays: (year: number, options?: GetHolidaysOptions): Holiday[] => {\n const names = options?.lang ?? defaultLang;\n return resolveHolidays(definitions, year, names);\n },\n isHoliday: (date: Date, options?: GetHolidaysOptions): Holiday | null => {\n const names = options?.lang ?? defaultLang;\n return checkIsHoliday(definitions, date, names);\n },\n getNextHoliday: (from: Date = new Date(), options?: GetHolidaysOptions): Holiday | null => {\n const names = options?.lang ?? defaultLang;\n return findNextHoliday(definitions, from, names);\n },\n isBusinessDay: (date: Date): boolean => {\n return checkIsBusinessDay(definitions, date);\n },\n businessDays: (date: Date, amount: number): Date => {\n return addBusinessDays(definitions, date, amount);\n },\n diffBusinessDays: (startDate: Date, endDate: Date): number => {\n return getBusinessDaysBetween(definitions, startDate, endDate);\n },\n businessHours: (\n date: Date,\n amount: number,\n businessHours?: { start: string; end: string },\n ): Date => {\n return addBusinessHours(definitions, date, amount, businessHours);\n },\n diffBusinessHours: (\n startDate: Date,\n endDate: Date,\n businessHours?: { start: string; end: string },\n ): number => {\n return getBusinessHoursBetween(definitions, startDate, endDate, businessHours);\n },\n };\n}\n","import type { HolidayNames } from '../core/types';\n\nexport const en: HolidayNames = {\n // Common\n newYear: \"New Year's Day\",\n epiphany: 'Epiphany',\n holyThursday: 'Holy Thursday',\n goodFriday: 'Good Friday',\n easterSunday: 'Easter Sunday',\n laborDay: 'Labor Day',\n ascension: 'Ascension Day',\n corpusChristi: 'Corpus Christi',\n christmas: 'Christmas Day',\n christmasEve: 'Christmas Eve',\n newYearsEve: \"New Year's Eve\",\n allSaints: \"All Saints' Day\",\n\n // Colombia\n saintJoseph: \"Saint Joseph's Day\",\n sacredHeart: 'Sacred Heart',\n saintPeterPaul: 'Saint Peter and Saint Paul',\n independenceDay: 'Independence Day',\n boyacaBattle: 'Battle of Boyacá',\n assumptionMary: 'Assumption of Mary',\n columbusDay: 'Columbus Day',\n independenceCartagena: 'Independence of Cartagena',\n immaculateConception: 'Immaculate Conception',\n chiquinquira: 'Our Lady of the Rosary of Chiquinquirá',\n\n // Mexico\n constitutionDay: 'Constitution Day',\n benitoJuarez: 'Benito Juárez Birthday',\n revolutionDay: 'Revolution Day',\n virginGuadalupe: 'Our Lady of Guadalupe',\n\n // USA\n mlkDay: 'Martin Luther King Jr. Day',\n presidentsDay: \"Presidents' Day\",\n memorialDay: 'Memorial Day',\n independenceDayUS: 'Independence Day',\n thanksgivingDay: 'Thanksgiving Day',\n veteransDay: 'Veterans Day',\n\n // Perú\n independenceDay1: 'Independence Day',\n independenceDay2: 'National Holidays',\n battleOfJunin: 'Battle of Junin',\n santaRosaDeLima: 'Santa Rosa de Lima',\n battleOfAngamos: 'Battle of Angamos',\n battleOfAyacucho: 'Battle of Ayacucho',\n\n // Chile\n holySaturday: 'Holy Saturday',\n navyDay: 'Navy Day',\n indigenousPeoplesDay: 'National Day of Indigenous Peoples',\n ourLadyOfMountCarmel: 'Our Lady of Mount Carmel',\n armyDay: 'Army Day',\n reformationDay: 'Reformation Day',\n\n // Ecuador\n battleOfPichincha: 'Battle of Pichincha',\n firstCryOfIndependence: 'First Cry of Independence',\n independenceOfGuayaquil: 'Independence of Guayaquil',\n allSoulsDay: 'All Souls Day',\n independenceOfCuenca: 'Independence of Cuenca',\n};\n","import type { HolidayDefinition } from '../core/types';\nimport { createHolidayManager } from '../core/manager';\nimport { en } from '../i18n/en';\n\nconst definitions: HolidayDefinition[] = [\n // Fijos con observed\n {\n key: 'newYear',\n rule: { type: 'fixed', month: 1, day: 1 },\n shift: 'observedUS',\n },\n {\n key: 'independenceDayUS',\n rule: { type: 'fixed', month: 7, day: 4 },\n shift: 'observedUS',\n },\n {\n key: 'veteransDay',\n rule: { type: 'fixed', month: 11, day: 11 },\n shift: 'observedUS',\n },\n {\n key: 'christmas',\n rule: { type: 'fixed', month: 12, day: 25 },\n shift: 'observedUS',\n },\n\n // Nth weekday\n {\n key: 'mlkDay',\n rule: { type: 'nthWeekday', month: 1, weekday: 1, n: 3 },\n },\n {\n key: 'presidentsDay',\n rule: { type: 'nthWeekday', month: 2, weekday: 1, n: 3 },\n },\n {\n key: 'memorialDay',\n rule: { type: 'nthWeekday', month: 5, weekday: 1, n: -1 },\n },\n {\n key: 'laborDay',\n rule: { type: 'nthWeekday', month: 9, weekday: 1, n: 1 },\n },\n {\n key: 'columbusDay',\n rule: { type: 'nthWeekday', month: 10, weekday: 1, n: 2 },\n },\n {\n key: 'thanksgivingDay',\n rule: { type: 'nthWeekday', month: 11, weekday: 4, n: 4 },\n },\n];\n\nexport const {\n getHolidays,\n isHoliday,\n getNextHoliday,\n isBusinessDay,\n businessDays,\n diffBusinessDays,\n businessHours,\n diffBusinessHours,\n} = createHolidayManager(definitions, en);\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Holiday } from './core/types.cjs';
|
|
2
|
+
import { G as GetHolidaysOptions } from './manager-cCTMxYzq.cjs';
|
|
3
|
+
|
|
4
|
+
declare const getHolidays: (year: number, options?: GetHolidaysOptions) => Holiday[];
|
|
5
|
+
declare const isHoliday: (date: Date, options?: GetHolidaysOptions) => Holiday | null;
|
|
6
|
+
declare const getNextHoliday: (from?: Date, options?: GetHolidaysOptions) => Holiday | null;
|
|
7
|
+
declare const isBusinessDay: (date: Date) => boolean;
|
|
8
|
+
declare const businessDays: (date: Date, amount: number) => Date;
|
|
9
|
+
declare const diffBusinessDays: (startDate: Date, endDate: Date) => number;
|
|
10
|
+
declare const businessHours: (date: Date, amount: number, businessHours?: {
|
|
11
|
+
start: string;
|
|
12
|
+
end: string;
|
|
13
|
+
}) => Date;
|
|
14
|
+
declare const diffBusinessHours: (startDate: Date, endDate: Date, businessHours?: {
|
|
15
|
+
start: string;
|
|
16
|
+
end: string;
|
|
17
|
+
}) => number;
|
|
18
|
+
|
|
19
|
+
declare const mx_businessDays: typeof businessDays;
|
|
20
|
+
declare const mx_businessHours: typeof businessHours;
|
|
21
|
+
declare const mx_diffBusinessDays: typeof diffBusinessDays;
|
|
22
|
+
declare const mx_diffBusinessHours: typeof diffBusinessHours;
|
|
23
|
+
declare const mx_getHolidays: typeof getHolidays;
|
|
24
|
+
declare const mx_getNextHoliday: typeof getNextHoliday;
|
|
25
|
+
declare const mx_isBusinessDay: typeof isBusinessDay;
|
|
26
|
+
declare const mx_isHoliday: typeof isHoliday;
|
|
27
|
+
declare namespace mx {
|
|
28
|
+
export { mx_businessDays as businessDays, mx_businessHours as businessHours, mx_diffBusinessDays as diffBusinessDays, mx_diffBusinessHours as diffBusinessHours, mx_getHolidays as getHolidays, mx_getNextHoliday as getNextHoliday, mx_isBusinessDay as isBusinessDay, mx_isHoliday as isHoliday };
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { businessHours as a, businessDays as b, diffBusinessHours as c, diffBusinessDays as d, getNextHoliday as e, isHoliday as f, getHolidays as g, isBusinessDay as i, mx as m };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Holiday } from './core/types.js';
|
|
2
|
+
import { G as GetHolidaysOptions } from './manager-t1ZTM9nD.js';
|
|
3
|
+
|
|
4
|
+
declare const getHolidays: (year: number, options?: GetHolidaysOptions) => Holiday[];
|
|
5
|
+
declare const isHoliday: (date: Date, options?: GetHolidaysOptions) => Holiday | null;
|
|
6
|
+
declare const getNextHoliday: (from?: Date, options?: GetHolidaysOptions) => Holiday | null;
|
|
7
|
+
declare const isBusinessDay: (date: Date) => boolean;
|
|
8
|
+
declare const businessDays: (date: Date, amount: number) => Date;
|
|
9
|
+
declare const diffBusinessDays: (startDate: Date, endDate: Date) => number;
|
|
10
|
+
declare const businessHours: (date: Date, amount: number, businessHours?: {
|
|
11
|
+
start: string;
|
|
12
|
+
end: string;
|
|
13
|
+
}) => Date;
|
|
14
|
+
declare const diffBusinessHours: (startDate: Date, endDate: Date, businessHours?: {
|
|
15
|
+
start: string;
|
|
16
|
+
end: string;
|
|
17
|
+
}) => number;
|
|
18
|
+
|
|
19
|
+
declare const mx_businessDays: typeof businessDays;
|
|
20
|
+
declare const mx_businessHours: typeof businessHours;
|
|
21
|
+
declare const mx_diffBusinessDays: typeof diffBusinessDays;
|
|
22
|
+
declare const mx_diffBusinessHours: typeof diffBusinessHours;
|
|
23
|
+
declare const mx_getHolidays: typeof getHolidays;
|
|
24
|
+
declare const mx_getNextHoliday: typeof getNextHoliday;
|
|
25
|
+
declare const mx_isBusinessDay: typeof isBusinessDay;
|
|
26
|
+
declare const mx_isHoliday: typeof isHoliday;
|
|
27
|
+
declare namespace mx {
|
|
28
|
+
export { mx_businessDays as businessDays, mx_businessHours as businessHours, mx_diffBusinessDays as diffBusinessDays, mx_diffBusinessHours as diffBusinessHours, mx_getHolidays as getHolidays, mx_getNextHoliday as getNextHoliday, mx_isBusinessDay as isBusinessDay, mx_isHoliday as isHoliday };
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { businessHours as a, businessDays as b, diffBusinessHours as c, diffBusinessDays as d, getNextHoliday as e, isHoliday as f, getHolidays as g, isBusinessDay as i, mx as m };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Holiday } from './core/types.js';
|
|
2
|
+
import { G as GetHolidaysOptions } from './manager-t1ZTM9nD.js';
|
|
3
|
+
|
|
4
|
+
declare const getHolidays: (year: number, options?: GetHolidaysOptions) => Holiday[];
|
|
5
|
+
declare const isHoliday: (date: Date, options?: GetHolidaysOptions) => Holiday | null;
|
|
6
|
+
declare const getNextHoliday: (from?: Date, options?: GetHolidaysOptions) => Holiday | null;
|
|
7
|
+
declare const isBusinessDay: (date: Date) => boolean;
|
|
8
|
+
declare const businessDays: (date: Date, amount: number) => Date;
|
|
9
|
+
declare const diffBusinessDays: (startDate: Date, endDate: Date) => number;
|
|
10
|
+
declare const businessHours: (date: Date, amount: number, businessHours?: {
|
|
11
|
+
start: string;
|
|
12
|
+
end: string;
|
|
13
|
+
}) => Date;
|
|
14
|
+
declare const diffBusinessHours: (startDate: Date, endDate: Date, businessHours?: {
|
|
15
|
+
start: string;
|
|
16
|
+
end: string;
|
|
17
|
+
}) => number;
|
|
18
|
+
|
|
19
|
+
declare const us_businessDays: typeof businessDays;
|
|
20
|
+
declare const us_businessHours: typeof businessHours;
|
|
21
|
+
declare const us_diffBusinessDays: typeof diffBusinessDays;
|
|
22
|
+
declare const us_diffBusinessHours: typeof diffBusinessHours;
|
|
23
|
+
declare const us_getHolidays: typeof getHolidays;
|
|
24
|
+
declare const us_getNextHoliday: typeof getNextHoliday;
|
|
25
|
+
declare const us_isBusinessDay: typeof isBusinessDay;
|
|
26
|
+
declare const us_isHoliday: typeof isHoliday;
|
|
27
|
+
declare namespace us {
|
|
28
|
+
export { us_businessDays as businessDays, us_businessHours as businessHours, us_diffBusinessDays as diffBusinessDays, us_diffBusinessHours as diffBusinessHours, us_getHolidays as getHolidays, us_getNextHoliday as getNextHoliday, us_isBusinessDay as isBusinessDay, us_isHoliday as isHoliday };
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { businessHours as a, businessDays as b, diffBusinessHours as c, diffBusinessDays as d, getNextHoliday as e, isHoliday as f, getHolidays as g, isBusinessDay as i, us as u };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Holiday } from './core/types.cjs';
|
|
2
|
+
import { G as GetHolidaysOptions } from './manager-cCTMxYzq.cjs';
|
|
3
|
+
|
|
4
|
+
declare const getHolidays: (year: number, options?: GetHolidaysOptions) => Holiday[];
|
|
5
|
+
declare const isHoliday: (date: Date, options?: GetHolidaysOptions) => Holiday | null;
|
|
6
|
+
declare const getNextHoliday: (from?: Date, options?: GetHolidaysOptions) => Holiday | null;
|
|
7
|
+
declare const isBusinessDay: (date: Date) => boolean;
|
|
8
|
+
declare const businessDays: (date: Date, amount: number) => Date;
|
|
9
|
+
declare const diffBusinessDays: (startDate: Date, endDate: Date) => number;
|
|
10
|
+
declare const businessHours: (date: Date, amount: number, businessHours?: {
|
|
11
|
+
start: string;
|
|
12
|
+
end: string;
|
|
13
|
+
}) => Date;
|
|
14
|
+
declare const diffBusinessHours: (startDate: Date, endDate: Date, businessHours?: {
|
|
15
|
+
start: string;
|
|
16
|
+
end: string;
|
|
17
|
+
}) => number;
|
|
18
|
+
|
|
19
|
+
declare const us_businessDays: typeof businessDays;
|
|
20
|
+
declare const us_businessHours: typeof businessHours;
|
|
21
|
+
declare const us_diffBusinessDays: typeof diffBusinessDays;
|
|
22
|
+
declare const us_diffBusinessHours: typeof diffBusinessHours;
|
|
23
|
+
declare const us_getHolidays: typeof getHolidays;
|
|
24
|
+
declare const us_getNextHoliday: typeof getNextHoliday;
|
|
25
|
+
declare const us_isBusinessDay: typeof isBusinessDay;
|
|
26
|
+
declare const us_isHoliday: typeof isHoliday;
|
|
27
|
+
declare namespace us {
|
|
28
|
+
export { us_businessDays as businessDays, us_businessHours as businessHours, us_diffBusinessDays as diffBusinessDays, us_diffBusinessHours as diffBusinessHours, us_getHolidays as getHolidays, us_getNextHoliday as getNextHoliday, us_isBusinessDay as isBusinessDay, us_isHoliday as isHoliday };
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { businessHours as a, businessDays as b, diffBusinessHours as c, diffBusinessDays as d, getNextHoliday as e, isHoliday as f, getHolidays as g, isBusinessDay as i, us as u };
|
package/package.json
CHANGED
package/dist/ar-DOBc0AKI.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { HolidayNames, Holiday } from './core/types.js';
|
|
2
|
-
|
|
3
|
-
interface GetHolidaysOptions {
|
|
4
|
-
lang?: HolidayNames;
|
|
5
|
-
}
|
|
6
|
-
declare function getHolidays(year: number, options?: GetHolidaysOptions): Holiday[];
|
|
7
|
-
declare function isHoliday(date: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
8
|
-
declare function getNextHoliday(from?: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
9
|
-
declare function isBusinessDay(date: Date): boolean;
|
|
10
|
-
declare function businessDays(date: Date, amount: number): Date;
|
|
11
|
-
declare function diffBusinessDays(startDate: Date, endDate: Date): number;
|
|
12
|
-
|
|
13
|
-
type ar_GetHolidaysOptions = GetHolidaysOptions;
|
|
14
|
-
declare const ar_businessDays: typeof businessDays;
|
|
15
|
-
declare const ar_diffBusinessDays: typeof diffBusinessDays;
|
|
16
|
-
declare const ar_getHolidays: typeof getHolidays;
|
|
17
|
-
declare const ar_getNextHoliday: typeof getNextHoliday;
|
|
18
|
-
declare const ar_isBusinessDay: typeof isBusinessDay;
|
|
19
|
-
declare const ar_isHoliday: typeof isHoliday;
|
|
20
|
-
declare namespace ar {
|
|
21
|
-
export { type ar_GetHolidaysOptions as GetHolidaysOptions, ar_businessDays as businessDays, ar_diffBusinessDays as diffBusinessDays, ar_getHolidays as getHolidays, ar_getNextHoliday as getNextHoliday, ar_isBusinessDay as isBusinessDay, ar_isHoliday as isHoliday };
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export { type GetHolidaysOptions as G, ar as a, businessDays as b, getNextHoliday as c, diffBusinessDays as d, isHoliday as e, getHolidays as g, isBusinessDay as i };
|
package/dist/ar-DZGRazxg.d.cts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { HolidayNames, Holiday } from './core/types.cjs';
|
|
2
|
-
|
|
3
|
-
interface GetHolidaysOptions {
|
|
4
|
-
lang?: HolidayNames;
|
|
5
|
-
}
|
|
6
|
-
declare function getHolidays(year: number, options?: GetHolidaysOptions): Holiday[];
|
|
7
|
-
declare function isHoliday(date: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
8
|
-
declare function getNextHoliday(from?: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
9
|
-
declare function isBusinessDay(date: Date): boolean;
|
|
10
|
-
declare function businessDays(date: Date, amount: number): Date;
|
|
11
|
-
declare function diffBusinessDays(startDate: Date, endDate: Date): number;
|
|
12
|
-
|
|
13
|
-
type ar_GetHolidaysOptions = GetHolidaysOptions;
|
|
14
|
-
declare const ar_businessDays: typeof businessDays;
|
|
15
|
-
declare const ar_diffBusinessDays: typeof diffBusinessDays;
|
|
16
|
-
declare const ar_getHolidays: typeof getHolidays;
|
|
17
|
-
declare const ar_getNextHoliday: typeof getNextHoliday;
|
|
18
|
-
declare const ar_isBusinessDay: typeof isBusinessDay;
|
|
19
|
-
declare const ar_isHoliday: typeof isHoliday;
|
|
20
|
-
declare namespace ar {
|
|
21
|
-
export { type ar_GetHolidaysOptions as GetHolidaysOptions, ar_businessDays as businessDays, ar_diffBusinessDays as diffBusinessDays, ar_getHolidays as getHolidays, ar_getNextHoliday as getNextHoliday, ar_isBusinessDay as isBusinessDay, ar_isHoliday as isHoliday };
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export { type GetHolidaysOptions as G, ar as a, businessDays as b, getNextHoliday as c, diffBusinessDays as d, isHoliday as e, getHolidays as g, isBusinessDay as i };
|
package/dist/br-Bxl7-z70.d.cts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { HolidayNames, Holiday } from './core/types.cjs';
|
|
2
|
-
|
|
3
|
-
interface GetHolidaysOptions {
|
|
4
|
-
lang?: HolidayNames;
|
|
5
|
-
}
|
|
6
|
-
declare function getHolidays(year: number, options?: GetHolidaysOptions): Holiday[];
|
|
7
|
-
declare function isHoliday(date: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
8
|
-
declare function getNextHoliday(from?: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
9
|
-
declare function isBusinessDay(date: Date): boolean;
|
|
10
|
-
declare function businessDays(date: Date, amount: number): Date;
|
|
11
|
-
declare function diffBusinessDays(startDate: Date, endDate: Date): number;
|
|
12
|
-
|
|
13
|
-
type br_GetHolidaysOptions = GetHolidaysOptions;
|
|
14
|
-
declare const br_businessDays: typeof businessDays;
|
|
15
|
-
declare const br_diffBusinessDays: typeof diffBusinessDays;
|
|
16
|
-
declare const br_getHolidays: typeof getHolidays;
|
|
17
|
-
declare const br_getNextHoliday: typeof getNextHoliday;
|
|
18
|
-
declare const br_isBusinessDay: typeof isBusinessDay;
|
|
19
|
-
declare const br_isHoliday: typeof isHoliday;
|
|
20
|
-
declare namespace br {
|
|
21
|
-
export { type br_GetHolidaysOptions as GetHolidaysOptions, br_businessDays as businessDays, br_diffBusinessDays as diffBusinessDays, br_getHolidays as getHolidays, br_getNextHoliday as getNextHoliday, br_isBusinessDay as isBusinessDay, br_isHoliday as isHoliday };
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export { type GetHolidaysOptions as G, businessDays as a, br as b, getNextHoliday as c, diffBusinessDays as d, isHoliday as e, getHolidays as g, isBusinessDay as i };
|
package/dist/br-DyXv2cHh.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { HolidayNames, Holiday } from './core/types.js';
|
|
2
|
-
|
|
3
|
-
interface GetHolidaysOptions {
|
|
4
|
-
lang?: HolidayNames;
|
|
5
|
-
}
|
|
6
|
-
declare function getHolidays(year: number, options?: GetHolidaysOptions): Holiday[];
|
|
7
|
-
declare function isHoliday(date: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
8
|
-
declare function getNextHoliday(from?: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
9
|
-
declare function isBusinessDay(date: Date): boolean;
|
|
10
|
-
declare function businessDays(date: Date, amount: number): Date;
|
|
11
|
-
declare function diffBusinessDays(startDate: Date, endDate: Date): number;
|
|
12
|
-
|
|
13
|
-
type br_GetHolidaysOptions = GetHolidaysOptions;
|
|
14
|
-
declare const br_businessDays: typeof businessDays;
|
|
15
|
-
declare const br_diffBusinessDays: typeof diffBusinessDays;
|
|
16
|
-
declare const br_getHolidays: typeof getHolidays;
|
|
17
|
-
declare const br_getNextHoliday: typeof getNextHoliday;
|
|
18
|
-
declare const br_isBusinessDay: typeof isBusinessDay;
|
|
19
|
-
declare const br_isHoliday: typeof isHoliday;
|
|
20
|
-
declare namespace br {
|
|
21
|
-
export { type br_GetHolidaysOptions as GetHolidaysOptions, br_businessDays as businessDays, br_diffBusinessDays as diffBusinessDays, br_getHolidays as getHolidays, br_getNextHoliday as getNextHoliday, br_isBusinessDay as isBusinessDay, br_isHoliday as isHoliday };
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export { type GetHolidaysOptions as G, businessDays as a, br as b, getNextHoliday as c, diffBusinessDays as d, isHoliday as e, getHolidays as g, isBusinessDay as i };
|
package/dist/co-BPDNBIJT.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { HolidayNames, Holiday } from './core/types.js';
|
|
2
|
-
|
|
3
|
-
interface GetHolidaysOptions {
|
|
4
|
-
lang?: HolidayNames;
|
|
5
|
-
}
|
|
6
|
-
declare function getHolidays(year: number, options?: GetHolidaysOptions): Holiday[];
|
|
7
|
-
declare function isHoliday(date: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
8
|
-
declare function getNextHoliday(from?: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
9
|
-
declare function isBusinessDay(date: Date): boolean;
|
|
10
|
-
declare function businessDays(date: Date, amount: number): Date;
|
|
11
|
-
declare function diffBusinessDays(startDate: Date, endDate: Date): number;
|
|
12
|
-
|
|
13
|
-
type co_GetHolidaysOptions = GetHolidaysOptions;
|
|
14
|
-
declare const co_businessDays: typeof businessDays;
|
|
15
|
-
declare const co_diffBusinessDays: typeof diffBusinessDays;
|
|
16
|
-
declare const co_getHolidays: typeof getHolidays;
|
|
17
|
-
declare const co_getNextHoliday: typeof getNextHoliday;
|
|
18
|
-
declare const co_isBusinessDay: typeof isBusinessDay;
|
|
19
|
-
declare const co_isHoliday: typeof isHoliday;
|
|
20
|
-
declare namespace co {
|
|
21
|
-
export { type co_GetHolidaysOptions as GetHolidaysOptions, co_businessDays as businessDays, co_diffBusinessDays as diffBusinessDays, co_getHolidays as getHolidays, co_getNextHoliday as getNextHoliday, co_isBusinessDay as isBusinessDay, co_isHoliday as isHoliday };
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export { type GetHolidaysOptions as G, getNextHoliday as a, businessDays as b, co as c, diffBusinessDays as d, isHoliday as e, getHolidays as g, isBusinessDay as i };
|
package/dist/co-pYFH0DtD.d.cts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { HolidayNames, Holiday } from './core/types.cjs';
|
|
2
|
-
|
|
3
|
-
interface GetHolidaysOptions {
|
|
4
|
-
lang?: HolidayNames;
|
|
5
|
-
}
|
|
6
|
-
declare function getHolidays(year: number, options?: GetHolidaysOptions): Holiday[];
|
|
7
|
-
declare function isHoliday(date: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
8
|
-
declare function getNextHoliday(from?: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
9
|
-
declare function isBusinessDay(date: Date): boolean;
|
|
10
|
-
declare function businessDays(date: Date, amount: number): Date;
|
|
11
|
-
declare function diffBusinessDays(startDate: Date, endDate: Date): number;
|
|
12
|
-
|
|
13
|
-
type co_GetHolidaysOptions = GetHolidaysOptions;
|
|
14
|
-
declare const co_businessDays: typeof businessDays;
|
|
15
|
-
declare const co_diffBusinessDays: typeof diffBusinessDays;
|
|
16
|
-
declare const co_getHolidays: typeof getHolidays;
|
|
17
|
-
declare const co_getNextHoliday: typeof getNextHoliday;
|
|
18
|
-
declare const co_isBusinessDay: typeof isBusinessDay;
|
|
19
|
-
declare const co_isHoliday: typeof isHoliday;
|
|
20
|
-
declare namespace co {
|
|
21
|
-
export { type co_GetHolidaysOptions as GetHolidaysOptions, co_businessDays as businessDays, co_diffBusinessDays as diffBusinessDays, co_getHolidays as getHolidays, co_getNextHoliday as getNextHoliday, co_isBusinessDay as isBusinessDay, co_isHoliday as isHoliday };
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export { type GetHolidaysOptions as G, getNextHoliday as a, businessDays as b, co as c, diffBusinessDays as d, isHoliday as e, getHolidays as g, isBusinessDay as i };
|
package/dist/mx-AFleoZyO.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { HolidayNames, Holiday } from './core/types.js';
|
|
2
|
-
|
|
3
|
-
interface GetHolidaysOptions {
|
|
4
|
-
lang?: HolidayNames;
|
|
5
|
-
}
|
|
6
|
-
declare function getHolidays(year: number, options?: GetHolidaysOptions): Holiday[];
|
|
7
|
-
declare function isHoliday(date: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
8
|
-
declare function getNextHoliday(from?: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
9
|
-
declare function isBusinessDay(date: Date): boolean;
|
|
10
|
-
declare function businessDays(date: Date, amount: number): Date;
|
|
11
|
-
declare function diffBusinessDays(startDate: Date, endDate: Date): number;
|
|
12
|
-
|
|
13
|
-
type mx_GetHolidaysOptions = GetHolidaysOptions;
|
|
14
|
-
declare const mx_businessDays: typeof businessDays;
|
|
15
|
-
declare const mx_diffBusinessDays: typeof diffBusinessDays;
|
|
16
|
-
declare const mx_getHolidays: typeof getHolidays;
|
|
17
|
-
declare const mx_getNextHoliday: typeof getNextHoliday;
|
|
18
|
-
declare const mx_isBusinessDay: typeof isBusinessDay;
|
|
19
|
-
declare const mx_isHoliday: typeof isHoliday;
|
|
20
|
-
declare namespace mx {
|
|
21
|
-
export { type mx_GetHolidaysOptions as GetHolidaysOptions, mx_businessDays as businessDays, mx_diffBusinessDays as diffBusinessDays, mx_getHolidays as getHolidays, mx_getNextHoliday as getNextHoliday, mx_isBusinessDay as isBusinessDay, mx_isHoliday as isHoliday };
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export { type GetHolidaysOptions as G, getNextHoliday as a, businessDays as b, isHoliday as c, diffBusinessDays as d, getHolidays as g, isBusinessDay as i, mx as m };
|
package/dist/mx-aI-ieOc4.d.cts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { HolidayNames, Holiday } from './core/types.cjs';
|
|
2
|
-
|
|
3
|
-
interface GetHolidaysOptions {
|
|
4
|
-
lang?: HolidayNames;
|
|
5
|
-
}
|
|
6
|
-
declare function getHolidays(year: number, options?: GetHolidaysOptions): Holiday[];
|
|
7
|
-
declare function isHoliday(date: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
8
|
-
declare function getNextHoliday(from?: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
9
|
-
declare function isBusinessDay(date: Date): boolean;
|
|
10
|
-
declare function businessDays(date: Date, amount: number): Date;
|
|
11
|
-
declare function diffBusinessDays(startDate: Date, endDate: Date): number;
|
|
12
|
-
|
|
13
|
-
type mx_GetHolidaysOptions = GetHolidaysOptions;
|
|
14
|
-
declare const mx_businessDays: typeof businessDays;
|
|
15
|
-
declare const mx_diffBusinessDays: typeof diffBusinessDays;
|
|
16
|
-
declare const mx_getHolidays: typeof getHolidays;
|
|
17
|
-
declare const mx_getNextHoliday: typeof getNextHoliday;
|
|
18
|
-
declare const mx_isBusinessDay: typeof isBusinessDay;
|
|
19
|
-
declare const mx_isHoliday: typeof isHoliday;
|
|
20
|
-
declare namespace mx {
|
|
21
|
-
export { type mx_GetHolidaysOptions as GetHolidaysOptions, mx_businessDays as businessDays, mx_diffBusinessDays as diffBusinessDays, mx_getHolidays as getHolidays, mx_getNextHoliday as getNextHoliday, mx_isBusinessDay as isBusinessDay, mx_isHoliday as isHoliday };
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export { type GetHolidaysOptions as G, getNextHoliday as a, businessDays as b, isHoliday as c, diffBusinessDays as d, getHolidays as g, isBusinessDay as i, mx as m };
|
package/dist/us-8v1NFxuj.d.cts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { HolidayNames, Holiday } from './core/types.cjs';
|
|
2
|
-
|
|
3
|
-
interface GetHolidaysOptions {
|
|
4
|
-
lang?: HolidayNames;
|
|
5
|
-
}
|
|
6
|
-
declare function getHolidays(year: number, options?: GetHolidaysOptions): Holiday[];
|
|
7
|
-
declare function isHoliday(date: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
8
|
-
declare function getNextHoliday(from?: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
9
|
-
declare function isBusinessDay(date: Date): boolean;
|
|
10
|
-
declare function businessDays(date: Date, amount: number): Date;
|
|
11
|
-
declare function diffBusinessDays(startDate: Date, endDate: Date): number;
|
|
12
|
-
|
|
13
|
-
type us_GetHolidaysOptions = GetHolidaysOptions;
|
|
14
|
-
declare const us_businessDays: typeof businessDays;
|
|
15
|
-
declare const us_diffBusinessDays: typeof diffBusinessDays;
|
|
16
|
-
declare const us_getHolidays: typeof getHolidays;
|
|
17
|
-
declare const us_getNextHoliday: typeof getNextHoliday;
|
|
18
|
-
declare const us_isBusinessDay: typeof isBusinessDay;
|
|
19
|
-
declare const us_isHoliday: typeof isHoliday;
|
|
20
|
-
declare namespace us {
|
|
21
|
-
export { type us_GetHolidaysOptions as GetHolidaysOptions, us_businessDays as businessDays, us_diffBusinessDays as diffBusinessDays, us_getHolidays as getHolidays, us_getNextHoliday as getNextHoliday, us_isBusinessDay as isBusinessDay, us_isHoliday as isHoliday };
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export { type GetHolidaysOptions as G, getNextHoliday as a, businessDays as b, isHoliday as c, diffBusinessDays as d, getHolidays as g, isBusinessDay as i, us as u };
|
package/dist/us-BMlmAp3v.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { HolidayNames, Holiday } from './core/types.js';
|
|
2
|
-
|
|
3
|
-
interface GetHolidaysOptions {
|
|
4
|
-
lang?: HolidayNames;
|
|
5
|
-
}
|
|
6
|
-
declare function getHolidays(year: number, options?: GetHolidaysOptions): Holiday[];
|
|
7
|
-
declare function isHoliday(date: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
8
|
-
declare function getNextHoliday(from?: Date, options?: GetHolidaysOptions): Holiday | null;
|
|
9
|
-
declare function isBusinessDay(date: Date): boolean;
|
|
10
|
-
declare function businessDays(date: Date, amount: number): Date;
|
|
11
|
-
declare function diffBusinessDays(startDate: Date, endDate: Date): number;
|
|
12
|
-
|
|
13
|
-
type us_GetHolidaysOptions = GetHolidaysOptions;
|
|
14
|
-
declare const us_businessDays: typeof businessDays;
|
|
15
|
-
declare const us_diffBusinessDays: typeof diffBusinessDays;
|
|
16
|
-
declare const us_getHolidays: typeof getHolidays;
|
|
17
|
-
declare const us_getNextHoliday: typeof getNextHoliday;
|
|
18
|
-
declare const us_isBusinessDay: typeof isBusinessDay;
|
|
19
|
-
declare const us_isHoliday: typeof isHoliday;
|
|
20
|
-
declare namespace us {
|
|
21
|
-
export { type us_GetHolidaysOptions as GetHolidaysOptions, us_businessDays as businessDays, us_diffBusinessDays as diffBusinessDays, us_getHolidays as getHolidays, us_getNextHoliday as getNextHoliday, us_isBusinessDay as isBusinessDay, us_isHoliday as isHoliday };
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export { type GetHolidaysOptions as G, getNextHoliday as a, businessDays as b, isHoliday as c, diffBusinessDays as d, getHolidays as g, isBusinessDay as i, us as u };
|