indian-banking-holiday 1.0.0 → 1.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.
- package/README.md +87 -7
- package/dist/index.js +390 -50
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +390 -50
- package/dist/index.mjs.map +1 -1
- package/package.json +14 -2
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/holidays.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { Holiday, IndianState } from './types';\n\n/**\n * Indian Banking Holidays Database\n * This includes national holidays, state-specific holidays, and regional holidays\n * Dates are stored in ISO format (YYYY-MM-DD)\n */\n\n// National holidays that apply to all states\nconst NATIONAL_HOLIDAYS: Holiday[] = [\n // Republic Day\n { date: '2025-01-26', name: 'Republic Day', type: 'National' },\n { date: '2026-01-26', name: 'Republic Day', type: 'National' },\n { date: '2027-01-26', name: 'Republic Day', type: 'National' },\n \n // Independence Day\n { date: '2025-08-15', name: 'Independence Day', type: 'National' },\n { date: '2026-08-15', name: 'Independence Day', type: 'National' },\n { date: '2027-08-15', name: 'Independence Day', type: 'National' },\n \n // Gandhi Jayanti\n { date: '2025-10-02', name: 'Gandhi Jayanti', type: 'National' },\n { date: '2026-10-02', name: 'Gandhi Jayanti', type: 'National' },\n { date: '2027-10-02', name: 'Gandhi Jayanti', type: 'National' },\n];\n\n// Religious and cultural holidays (varies by state)\nconst RELIGIOUS_HOLIDAYS: Holiday[] = [\n // 2025\n { date: '2025-01-14', name: 'Makar Sankranti', type: 'Regional', states: ['Gujarat', 'Karnataka', 'Andhra Pradesh', 'Telangana'] },\n { date: '2025-01-15', name: 'Pongal', type: 'State', states: ['Tamil Nadu'] },\n { date: '2025-01-26', name: 'Republic Day', type: 'National' },\n { date: '2025-03-08', name: 'Holi', type: 'Regional' },\n { date: '2025-03-29', name: 'Good Friday', type: 'Regional' },\n { date: '2025-04-14', name: 'Ambedkar Jayanti', type: 'Regional' },\n { date: '2025-04-14', name: 'Vaisakhi', type: 'State', states: ['Punjab', 'Haryana'] },\n { date: '2025-04-17', name: 'Ram Navami', type: 'Regional' },\n { date: '2025-05-01', name: 'Labour Day', type: 'State', states: ['Maharashtra', 'Karnataka', 'Kerala', 'Tamil Nadu'] },\n { date: '2025-06-17', name: 'Eid ul-Fitr', type: 'Regional' },\n { date: '2025-08-15', name: 'Independence Day', type: 'National' },\n { date: '2025-08-26', name: 'Raksha Bandhan', type: 'Regional' },\n { date: '2025-08-29', name: 'Janmashtami', type: 'Regional' },\n { date: '2025-09-07', name: 'Ganesh Chaturthi', type: 'State', states: ['Maharashtra', 'Goa', 'Karnataka', 'Andhra Pradesh', 'Telangana'] },\n { date: '2025-10-02', name: 'Gandhi Jayanti', type: 'National' },\n { date: '2025-10-12', name: 'Dussehra', type: 'Regional' },\n { date: '2025-10-20', name: 'Eid ul-Adha', type: 'Regional' },\n { date: '2025-10-31', name: 'Diwali', type: 'Regional' },\n { date: '2025-11-01', name: 'Diwali', type: 'Regional' },\n { date: '2025-11-15', name: 'Guru Nanak Jayanti', type: 'State', states: ['Punjab', 'Haryana', 'Himachal Pradesh'] },\n { date: '2025-12-25', name: 'Christmas', type: 'Regional' },\n \n // 2026 - Updated based on HDFC Bank holiday list\n { date: '2026-01-14', name: 'Makar Sankranti', type: 'Regional', states: ['Gujarat', 'Karnataka', 'Andhra Pradesh', 'Telangana'] },\n { date: '2026-01-15', name: 'Makar Sankranti', type: 'Regional', states: ['Andhra Pradesh', 'Karnataka'] },\n { date: '2026-01-15', name: 'Pongal', type: 'State', states: ['Tamil Nadu'] },\n { date: '2026-01-26', name: 'Republic Day', type: 'National' },\n { date: '2026-02-15', name: 'Mahashivratri', type: 'Regional' },\n { date: '2026-03-03', name: 'Holi', type: 'Regional' },\n { date: '2026-03-04', name: 'Holi', type: 'Regional' },\n { date: '2026-03-19', name: 'Ugadi Festival', type: 'State', states: ['Karnataka', 'Andhra Pradesh', 'Telangana'] },\n { date: '2026-03-20', name: 'Eid ul-Fitr', type: 'Regional' },\n { date: '2026-03-21', name: 'Eid ul-Fitr', type: 'Regional' },\n { date: '2026-03-26', name: 'Ram Navami', type: 'Regional' },\n { date: '2026-03-27', name: 'Ram Navami', type: 'Regional' },\n { date: '2026-03-31', name: 'Mahavir Jayanti', type: 'Regional' },\n { date: '2026-04-03', name: 'Good Friday', type: 'Regional' },\n { date: '2026-04-14', name: 'Ambedkar Jayanti', type: 'Regional' },\n { date: '2026-04-14', name: 'Vaisakhi', type: 'State', states: ['Punjab', 'Haryana'] },\n { date: '2026-05-01', name: 'Labour Day', type: 'State', states: ['Maharashtra', 'Karnataka', 'Kerala', 'Tamil Nadu'] },\n { date: '2026-05-01', name: 'Buddha Poornima', type: 'Regional' },\n { date: '2026-05-27', name: 'Eid ul-Adha', type: 'Regional' },\n { date: '2026-05-28', name: 'Eid ul-Adha', type: 'Regional' },\n { date: '2026-06-26', name: 'Moharram', type: 'Regional' },\n { date: '2026-08-15', name: 'Independence Day', type: 'National' },\n { date: '2026-08-26', name: 'Id A Milad', type: 'Regional' },\n { date: '2026-08-28', name: 'Raksha Bandhan', type: 'Regional' },\n { date: '2026-09-04', name: 'Janmashtami', type: 'Regional' },\n { date: '2026-09-14', name: 'Ganesh Chaturthi', type: 'State', states: ['Maharashtra', 'Goa', 'Karnataka', 'Andhra Pradesh', 'Telangana'] },\n { date: '2026-10-02', name: 'Gandhi Jayanti', type: 'National' },\n { date: '2026-10-20', name: 'Dussehra', type: 'Regional' },\n { date: '2026-10-21', name: 'Dussehra', type: 'Regional' },\n { date: '2026-11-08', name: 'Diwali', type: 'Regional' },\n { date: '2026-11-10', name: 'Diwali', type: 'Regional' },\n { date: '2026-11-24', name: 'Guru Nanak Jayanti', type: 'State', states: ['Punjab', 'Haryana', 'Himachal Pradesh'] },\n { date: '2026-12-25', name: 'Christmas', type: 'Regional' },\n \n // 2027\n { date: '2027-01-14', name: 'Makar Sankranti', type: 'Regional', states: ['Gujarat', 'Karnataka', 'Andhra Pradesh', 'Telangana'] },\n { date: '2027-01-15', name: 'Pongal', type: 'State', states: ['Tamil Nadu'] },\n { date: '2027-01-26', name: 'Republic Day', type: 'National' },\n { date: '2027-03-10', name: 'Holi', type: 'Regional' },\n { date: '2027-03-26', name: 'Good Friday', type: 'Regional' },\n { date: '2027-04-14', name: 'Ambedkar Jayanti', type: 'Regional' },\n { date: '2027-04-14', name: 'Vaisakhi', type: 'State', states: ['Punjab', 'Haryana'] },\n { date: '2027-03-25', name: 'Ram Navami', type: 'Regional' },\n { date: '2027-05-01', name: 'Labour Day', type: 'State', states: ['Maharashtra', 'Karnataka', 'Kerala', 'Tamil Nadu'] },\n { date: '2027-05-27', name: 'Eid ul-Fitr', type: 'Regional' },\n { date: '2027-08-15', name: 'Independence Day', type: 'National' },\n { date: '2027-08-04', name: 'Raksha Bandhan', type: 'Regional' },\n { date: '2027-08-07', name: 'Janmashtami', type: 'Regional' },\n { date: '2027-08-15', name: 'Ganesh Chaturthi', type: 'State', states: ['Maharashtra', 'Goa', 'Karnataka', 'Andhra Pradesh', 'Telangana'] },\n { date: '2027-10-02', name: 'Gandhi Jayanti', type: 'National' },\n { date: '2027-10-21', name: 'Dussehra', type: 'Regional' },\n { date: '2027-10-28', name: 'Eid ul-Adha', type: 'Regional' },\n { date: '2027-11-08', name: 'Diwali', type: 'Regional' },\n { date: '2027-11-09', name: 'Diwali', type: 'Regional' },\n { date: '2027-11-24', name: 'Guru Nanak Jayanti', type: 'State', states: ['Punjab', 'Haryana', 'Himachal Pradesh'] },\n { date: '2027-12-25', name: 'Christmas', type: 'Regional' },\n];\n\n// State-specific holidays\nconst STATE_HOLIDAYS: Holiday[] = [\n // Maharashtra\n { date: '2025-05-01', name: 'Maharashtra Day', type: 'State', states: ['Maharashtra'] },\n { date: '2026-05-01', name: 'Maharashtra Day', type: 'State', states: ['Maharashtra'] },\n { date: '2027-05-01', name: 'Maharashtra Day', type: 'State', states: ['Maharashtra'] },\n \n // Karnataka\n { date: '2025-11-01', name: 'Karnataka Rajyotsava', type: 'State', states: ['Karnataka'] },\n { date: '2026-11-01', name: 'Karnataka Rajyotsava', type: 'State', states: ['Karnataka'] },\n { date: '2027-11-01', name: 'Karnataka Rajyotsava', type: 'State', states: ['Karnataka'] },\n \n // Tamil Nadu\n { date: '2025-04-14', name: 'Tamil New Year', type: 'State', states: ['Tamil Nadu'] },\n { date: '2026-04-14', name: 'Tamil New Year', type: 'State', states: ['Tamil Nadu'] },\n { date: '2027-04-14', name: 'Tamil New Year', type: 'State', states: ['Tamil Nadu'] },\n \n // West Bengal\n { date: '2025-04-15', name: 'Bengali New Year', type: 'State', states: ['West Bengal'] },\n { date: '2026-04-15', name: 'Bengali New Year', type: 'State', states: ['West Bengal'] },\n { date: '2027-04-15', name: 'Bengali New Year', type: 'State', states: ['West Bengal'] },\n \n // Kerala\n { date: '2025-04-14', name: 'Vishu', type: 'State', states: ['Kerala'] },\n { date: '2026-04-14', name: 'Vishu', type: 'State', states: ['Kerala'] },\n { date: '2027-04-14', name: 'Vishu', type: 'State', states: ['Kerala'] },\n \n // Gujarat\n { date: '2025-10-31', name: 'Gujarati New Year', type: 'State', states: ['Gujarat'] },\n { date: '2026-10-20', name: 'Gujarati New Year', type: 'State', states: ['Gujarat'] },\n { date: '2027-11-08', name: 'Gujarati New Year', type: 'State', states: ['Gujarat'] },\n];\n\n// Combine all holidays\nexport const ALL_HOLIDAYS: Holiday[] = [\n ...NATIONAL_HOLIDAYS,\n ...RELIGIOUS_HOLIDAYS,\n ...STATE_HOLIDAYS,\n];\n","import { ALL_HOLIDAYS } from './holidays';\nimport {\n Holiday,\n HolidayQueryOptions,\n HolidayResult,\n IndianState,\n} from './types';\n\n/**\n * Get all banking holidays\n */\nexport function getAllHolidays(): Holiday[] {\n return [...ALL_HOLIDAYS];\n}\n\n/**\n * Query holidays based on various filters\n */\nexport function getHolidays(options: HolidayQueryOptions = {}): HolidayResult {\n let filtered = [...ALL_HOLIDAYS];\n\n // Filter by year\n if (options.year) {\n filtered = filtered.filter((h) => h.date.startsWith(options.year!.toString()));\n }\n\n // Filter by month\n if (options.month) {\n const monthStr = options.month.toString().padStart(2, '0');\n filtered = filtered.filter((h) => h.date.substring(5, 7) === monthStr);\n }\n\n // Filter by date range\n if (options.startDate) {\n filtered = filtered.filter((h) => h.date >= options.startDate!);\n }\n if (options.endDate) {\n filtered = filtered.filter((h) => h.date <= options.endDate!);\n }\n\n // Filter by state\n if (options.state) {\n filtered = filtered.filter((h) => {\n // National holidays apply to all states\n if (h.type === 'National') return true;\n // If no states specified, it applies to all states\n if (!h.states) return true;\n // Check if the state is in the list\n return h.states.includes(options.state!);\n });\n }\n\n // Sort by date\n filtered.sort((a, b) => a.date.localeCompare(b.date));\n\n return {\n holidays: filtered,\n total: filtered.length,\n query: options,\n };\n}\n\n/**\n * Get holidays for a specific year\n */\nexport function getHolidaysByYear(year: number): Holiday[] {\n return getHolidays({ year }).holidays;\n}\n\n/**\n * Get holidays for a specific month\n */\nexport function getHolidaysByMonth(year: number, month: number): Holiday[] {\n return getHolidays({ year, month }).holidays;\n}\n\n/**\n * Get holidays for a specific state\n */\nexport function getHolidaysByState(\n state: IndianState,\n year?: number\n): Holiday[] {\n return getHolidays({ state, year }).holidays;\n}\n\n/**\n * Get holidays for a date range\n */\nexport function getHolidaysByDateRange(\n startDate: string,\n endDate: string,\n options?: Omit<HolidayQueryOptions, 'startDate' | 'endDate'>\n): Holiday[] {\n return getHolidays({ ...options, startDate, endDate }).holidays;\n}\n\n/**\n * Check if a specific date is a banking holiday\n * @param date - Date to check (string in YYYY-MM-DD format or Date object)\n * @param state - Optional state filter\n */\nexport function isHoliday(\n date: string | Date,\n state?: IndianState\n): boolean {\n const dateStr =\n typeof date === 'string' ? date : date.toISOString().split('T')[0];\n const holidays = getHolidays({ state }).holidays;\n return holidays.some((h) => h.date === dateStr);\n}\n\n/**\n * Get holiday information for a specific date\n * @param date - Date to check (string in YYYY-MM-DD format or Date object)\n * @param state - Optional state filter\n */\nexport function getHolidayByDate(\n date: string | Date,\n state?: IndianState\n): Holiday | null {\n const dateStr =\n typeof date === 'string' ? date : date.toISOString().split('T')[0];\n const holidays = getHolidays({ state }).holidays;\n return holidays.find((h) => h.date === dateStr) || null;\n}\n\n/**\n * Get the next banking holiday from a given date\n * @param fromDate - Starting date (defaults to today)\n * @param state - Optional state filter\n */\nexport function getNextHoliday(\n fromDate?: string | Date,\n state?: IndianState\n): Holiday | null {\n const dateStr = fromDate\n ? typeof fromDate === 'string'\n ? fromDate\n : fromDate.toISOString().split('T')[0]\n : new Date().toISOString().split('T')[0];\n\n const holidays = getHolidays({ state }).holidays;\n const futureHolidays = holidays.filter((h) => h.date > dateStr);\n\n if (futureHolidays.length === 0) return null;\n\n return futureHolidays[0];\n}\n\n/**\n * Get upcoming holidays within a specified number of days\n * @param days - Number of days to look ahead (default: 30)\n * @param state - Optional state filter\n */\nexport function getUpcomingHolidays(\n days: number = 30,\n state?: IndianState\n): Holiday[] {\n const today = new Date().toISOString().split('T')[0];\n const futureDate = new Date();\n futureDate.setDate(futureDate.getDate() + days);\n const endDate = futureDate.toISOString().split('T')[0];\n\n return getHolidaysByDateRange(today, endDate, { state });\n}\n\n/**\n * Get holidays count for a year\n * @param year - Year to get count for\n * @param state - Optional state filter\n */\nexport function getHolidayCount(\n year: number,\n state?: IndianState\n): number {\n return getHolidays({ year, state }).total;\n}\n\n// Export types\nexport type {\n Holiday,\n HolidayQueryOptions,\n HolidayResult,\n IndianState,\n HolidayType,\n} from './types';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/holidays.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { Holiday } from './types';\n\n/**\n * Indian Banking Holidays Database\n * This includes national holidays, state-specific holidays, and regional holidays\n * Dates are stored in ISO format (YYYY-MM-DD)\n */\n\n// National holidays that apply to all states\nconst NATIONAL_HOLIDAYS: Holiday[] = [\n // Republic Day\n { date: '2025-01-26', name: 'Republic Day', type: 'National' },\n { date: '2026-01-26', name: 'Republic Day', type: 'National' },\n { date: '2027-01-26', name: 'Republic Day', type: 'National' },\n\n // Independence Day\n { date: '2025-08-15', name: 'Independence Day', type: 'National' },\n { date: '2026-08-15', name: 'Independence Day', type: 'National' },\n { date: '2027-08-15', name: 'Independence Day', type: 'National' },\n\n // Gandhi Jayanti\n { date: '2025-10-02', name: 'Gandhi Jayanti', type: 'National' },\n { date: '2026-10-02', name: 'Gandhi Jayanti', type: 'National' },\n { date: '2027-10-02', name: 'Gandhi Jayanti', type: 'National' },\n];\n\n// Religious and cultural holidays (varies by state)\nconst RELIGIOUS_HOLIDAYS: Holiday[] = [\n // 2025 - Updated based on RBI holiday list\n {\n date: '2025-01-14',\n name: 'Makar Sankranti',\n type: 'Regional',\n states: ['Gujarat', 'Karnataka', 'Andhra Pradesh', 'Telangana'],\n },\n { date: '2025-01-15', name: 'Pongal', type: 'State', states: ['Tamil Nadu'] },\n { date: '2025-03-14', name: 'Holi', type: 'Regional' },\n { date: '2025-03-25', name: 'Holi', type: 'Regional' },\n { date: '2025-03-26', name: 'Holi', type: 'Regional' },\n { date: '2025-03-27', name: 'Holi', type: 'Regional' },\n { date: '2025-03-29', name: 'Good Friday', type: 'Regional' },\n { date: '2025-03-31', name: 'Eid ul-Fitr', type: 'Regional' },\n { date: '2025-04-14', name: 'Ambedkar Jayanti', type: 'Regional' },\n // Removed: Not validated against HDFC website (Punjab/Haryana not in HDFC test data)\n // { date: '2025-04-14', name: 'Vaisakhi', type: 'State', states: ['Punjab', 'Haryana'] },\n { date: '2025-04-06', name: 'Ram Navami', type: 'Regional' },\n { date: '2025-04-10', name: 'Eid ul-Fitr', type: 'Regional' },\n { date: '2025-04-11', name: 'Eid ul-Fitr', type: 'Regional' },\n { date: '2025-04-17', name: 'Ram Navami', type: 'Regional' },\n {\n date: '2025-05-01',\n name: 'Labour Day',\n type: 'State',\n states: ['Maharashtra', 'Karnataka', 'Kerala', 'Tamil Nadu'],\n },\n { date: '2025-08-26', name: 'Raksha Bandhan', type: 'Regional' },\n { date: '2025-08-29', name: 'Janmashtami', type: 'Regional' },\n {\n date: '2025-09-07',\n name: 'Ganesh Chaturthi',\n type: 'State',\n states: ['Maharashtra', 'Goa', 'Karnataka', 'Andhra Pradesh', 'Telangana'],\n },\n { date: '2025-10-12', name: 'Dussehra', type: 'Regional' },\n { date: '2025-10-20', name: 'Diwali', type: 'Regional' },\n { date: '2025-10-20', name: 'Eid ul-Adha', type: 'Regional' },\n { date: '2025-10-21', name: 'Diwali', type: 'Regional' },\n { date: '2025-10-22', name: 'Diwali', type: 'Regional' },\n { date: '2025-10-31', name: 'Diwali', type: 'Regional' },\n { date: '2025-11-01', name: 'Diwali', type: 'Regional' },\n {\n date: '2025-11-05',\n name: 'Guru Nanak Jayanti',\n type: 'State',\n states: ['Himachal Pradesh', 'Punjab', 'Haryana', 'Maharashtra', 'Delhi'],\n },\n {\n date: '2025-11-15',\n name: 'Guru Nanak Jayanti',\n type: 'State',\n states: ['Himachal Pradesh'],\n },\n { date: '2025-12-25', name: 'Christmas', type: 'Regional' },\n\n // 2026 - Updated based on HDFC Bank holiday list\n {\n date: '2026-01-14',\n name: 'Makar Sankranti',\n type: 'Regional',\n states: ['Gujarat', 'Karnataka', 'Andhra Pradesh', 'Telangana'],\n },\n {\n date: '2026-01-15',\n name: 'Makar Sankranti',\n type: 'Regional',\n states: ['Andhra Pradesh', 'Karnataka'],\n },\n { date: '2026-01-15', name: 'Pongal', type: 'State', states: ['Tamil Nadu'] },\n { date: '2026-02-15', name: 'Mahashivratri', type: 'Regional' },\n { date: '2026-03-03', name: 'Holi', type: 'Regional' },\n { date: '2026-03-04', name: 'Holi', type: 'Regional' },\n {\n date: '2026-03-19',\n name: 'Ugadi Festival',\n type: 'State',\n states: ['Karnataka', 'Andhra Pradesh', 'Telangana'],\n },\n {\n date: '2026-03-19',\n name: 'Gudi Padwa',\n type: 'State',\n states: ['Maharashtra'],\n },\n { date: '2026-03-20', name: 'Eid ul-Fitr', type: 'Regional' },\n { date: '2026-03-21', name: 'Eid ul-Fitr', type: 'Regional' },\n { date: '2026-03-26', name: 'Ram Navami', type: 'Regional' },\n { date: '2026-03-27', name: 'Ram Navami', type: 'Regional' },\n { date: '2026-03-31', name: 'Mahavir Jayanti', type: 'Regional' },\n { date: '2026-04-03', name: 'Good Friday', type: 'Regional' },\n { date: '2026-04-14', name: 'Ambedkar Jayanti', type: 'Regional' },\n {\n date: '2026-04-20',\n name: 'Basava Jayanti',\n type: 'State',\n states: ['Karnataka'],\n },\n {\n date: '2026-05-01',\n name: 'Labour Day',\n type: 'State',\n states: ['Maharashtra', 'Karnataka', 'Kerala', 'Tamil Nadu'],\n },\n { date: '2026-05-01', name: 'Buddha Poornima', type: 'Regional' },\n { date: '2026-05-27', name: 'Eid ul-Adha', type: 'Regional' },\n { date: '2026-05-28', name: 'Eid ul-Adha', type: 'Regional' },\n {\n date: '2026-06-25',\n name: 'Moharram',\n type: 'State',\n states: ['Andhra Pradesh'],\n },\n {\n date: '2026-06-26',\n name: 'Moharram',\n type: 'State',\n states: ['Maharashtra', 'Tamil Nadu', 'West Bengal', 'Delhi', 'Karnataka'],\n },\n { date: '2026-08-25', name: 'Id A Milad', type: 'Regional' },\n { date: '2026-08-26', name: 'Id A Milad', type: 'Regional' },\n { date: '2026-08-28', name: 'Raksha Bandhan', type: 'Regional' },\n { date: '2026-09-04', name: 'Janmashtami', type: 'Regional' },\n {\n date: '2026-09-15',\n name: 'Samvatsari',\n type: 'State',\n states: ['Gujarat'],\n },\n {\n date: '2026-09-14',\n name: 'Ganesh Chaturthi',\n type: 'State',\n states: ['Maharashtra', 'Goa', 'Karnataka', 'Andhra Pradesh', 'Telangana'],\n },\n {\n date: '2026-09-14',\n name: 'Vinayak Chaturthi',\n type: 'State',\n states: ['Tamil Nadu'],\n },\n {\n date: '2026-10-10',\n name: 'Mahalaya Amavasya',\n type: 'State',\n states: ['Karnataka', 'West Bengal'],\n },\n {\n date: '2026-10-19',\n name: 'Ayutha Pooja',\n type: 'State',\n states: ['Tamil Nadu'],\n },\n {\n date: '2026-10-19',\n name: 'Durga Puja (Maha Astami)',\n type: 'State',\n states: ['West Bengal'],\n },\n { date: '2026-10-20', name: 'Dussehra', type: 'Regional' },\n {\n date: '2026-10-20',\n name: 'Saraswathi Pooja/Mahanavami',\n type: 'State',\n states: ['Karnataka'],\n },\n {\n date: '2026-10-20',\n name: 'Durga Puja (Maha Astami)',\n type: 'State',\n states: ['West Bengal'],\n },\n { date: '2026-10-21', name: 'Dussehra', type: 'Regional' },\n {\n date: '2026-10-21',\n name: 'Vijaya Dashmi',\n type: 'State',\n states: ['Karnataka'],\n },\n {\n date: '2026-10-21',\n name: 'Durga Puja (Vijaya Dashmi)',\n type: 'State',\n states: ['West Bengal'],\n },\n {\n date: '2026-10-25',\n name: 'Maharishi Valmiki Jayanti',\n type: 'State',\n states: ['Karnataka'],\n },\n {\n date: '2026-10-31',\n name: 'Sardar Vallabhbhai Patels Birthday',\n type: 'State',\n states: ['Gujarat'],\n },\n { date: '2026-11-08', name: 'Diwali', type: 'Regional' },\n {\n date: '2026-11-08',\n name: 'Narak Chaturdasi',\n type: 'State',\n states: ['Karnataka'],\n },\n { date: '2026-11-10', name: 'Diwali', type: 'Regional' },\n {\n date: '2026-11-10',\n name: 'Balipadyami / Deepavali',\n type: 'State',\n states: ['Karnataka'],\n },\n {\n date: '2026-11-10',\n name: 'Vikram Samvant Newyear Day',\n type: 'State',\n states: ['Gujarat'],\n },\n {\n date: '2026-11-11',\n name: 'Bhratridwitiya',\n type: 'State',\n states: ['West Bengal'],\n },\n {\n date: '2026-11-27',\n name: 'Kanakadasa Jayanthi',\n type: 'State',\n states: ['Karnataka'],\n },\n {\n date: '2026-11-24',\n name: 'Guru Nanak Jayanti',\n type: 'State',\n states: ['Himachal Pradesh', 'Maharashtra', 'West Bengal', 'Delhi'],\n },\n { date: '2026-12-25', name: 'Christmas', type: 'Regional' },\n\n // 2027\n {\n date: '2027-01-14',\n name: 'Makar Sankranti',\n type: 'Regional',\n states: ['Gujarat', 'Karnataka', 'Andhra Pradesh', 'Telangana'],\n },\n { date: '2027-01-15', name: 'Pongal', type: 'State', states: ['Tamil Nadu'] },\n { date: '2027-03-10', name: 'Holi', type: 'Regional' },\n { date: '2027-03-26', name: 'Good Friday', type: 'Regional' },\n { date: '2027-04-14', name: 'Ambedkar Jayanti', type: 'Regional' },\n // Removed: Not validated against HDFC website (Punjab/Haryana not in HDFC test data)\n // { date: '2027-04-14', name: 'Vaisakhi', type: 'State', states: ['Punjab', 'Haryana'] },\n { date: '2027-03-25', name: 'Ram Navami', type: 'Regional' },\n {\n date: '2027-05-01',\n name: 'Labour Day',\n type: 'State',\n states: ['Maharashtra', 'Karnataka', 'Kerala', 'Tamil Nadu'],\n },\n { date: '2027-05-27', name: 'Eid ul-Fitr', type: 'Regional' },\n { date: '2027-08-04', name: 'Raksha Bandhan', type: 'Regional' },\n { date: '2027-08-07', name: 'Janmashtami', type: 'Regional' },\n {\n date: '2027-08-15',\n name: 'Ganesh Chaturthi',\n type: 'State',\n states: ['Maharashtra', 'Goa', 'Karnataka', 'Andhra Pradesh', 'Telangana'],\n },\n { date: '2027-10-21', name: 'Dussehra', type: 'Regional' },\n { date: '2027-10-28', name: 'Eid ul-Adha', type: 'Regional' },\n { date: '2027-11-08', name: 'Diwali', type: 'Regional' },\n { date: '2027-11-09', name: 'Diwali', type: 'Regional' },\n {\n date: '2027-11-24',\n name: 'Guru Nanak Jayanti',\n type: 'State',\n states: ['Himachal Pradesh'],\n },\n { date: '2027-12-25', name: 'Christmas', type: 'Regional' },\n];\n\n// State-specific holidays\nconst STATE_HOLIDAYS: Holiday[] = [\n // Maharashtra\n {\n date: '2025-05-01',\n name: 'Maharashtra Day',\n type: 'State',\n states: ['Maharashtra'],\n },\n {\n date: '2026-02-19',\n name: 'Chhatrapati Shivaji Maharaj Jayanti',\n type: 'State',\n states: ['Maharashtra'],\n },\n {\n date: '2026-05-01',\n name: 'Maharashtra Day',\n type: 'State',\n states: ['Maharashtra'],\n },\n {\n date: '2027-05-01',\n name: 'Maharashtra Day',\n type: 'State',\n states: ['Maharashtra'],\n },\n\n // Karnataka\n {\n date: '2025-11-01',\n name: 'Karnataka Rajyotsava',\n type: 'State',\n states: ['Karnataka'],\n },\n {\n date: '2026-11-01',\n name: 'Karnataka Rajyotsava',\n type: 'State',\n states: ['Karnataka'],\n },\n {\n date: '2027-11-01',\n name: 'Karnataka Rajyotsava',\n type: 'State',\n states: ['Karnataka'],\n },\n\n // Tamil Nadu\n {\n date: '2025-04-14',\n name: 'Tamil New Year',\n type: 'State',\n states: ['Tamil Nadu'],\n },\n {\n date: '2026-01-01',\n name: \"New Year's Day\",\n type: 'State',\n states: ['Tamil Nadu'],\n },\n {\n date: '2026-01-16',\n name: 'Thiruvalluvar day',\n type: 'State',\n states: ['Tamil Nadu'],\n },\n {\n date: '2026-01-17',\n name: 'Uzhavar Thirunal',\n type: 'State',\n states: ['Tamil Nadu'],\n },\n {\n date: '2026-02-01',\n name: 'Thaipoosam Festival',\n type: 'State',\n states: ['Tamil Nadu'],\n },\n {\n date: '2026-03-19',\n name: 'Telgu New Years Day',\n type: 'State',\n states: ['Tamil Nadu'],\n },\n {\n date: '2026-04-14',\n name: 'Tamil New Year',\n type: 'State',\n states: ['Tamil Nadu'],\n },\n {\n date: '2027-04-14',\n name: 'Tamil New Year',\n type: 'State',\n states: ['Tamil Nadu'],\n },\n\n // West Bengal\n {\n date: '2025-04-15',\n name: 'Bengali New Year',\n type: 'State',\n states: ['West Bengal'],\n },\n {\n date: '2026-01-01',\n name: \"New Year's Day\",\n type: 'State',\n states: ['West Bengal'],\n },\n {\n date: '2026-01-12',\n name: 'Birthday of Swami Vivekananda',\n type: 'State',\n states: ['West Bengal'],\n },\n {\n date: '2026-01-23',\n name: \"Netaji's Birthday & Saraswati Puja\",\n type: 'State',\n states: ['West Bengal'],\n },\n {\n date: '2026-03-03',\n name: 'Dol Jatra',\n type: 'State',\n states: ['West Bengal'],\n },\n {\n date: '2026-04-15',\n name: 'Bengali New Year',\n type: 'State',\n states: ['West Bengal'],\n },\n {\n date: '2026-05-09',\n name: 'Birthday of Rabindranath Tagore',\n type: 'State',\n states: ['West Bengal'],\n },\n {\n date: '2027-04-15',\n name: 'Bengali New Year',\n type: 'State',\n states: ['West Bengal'],\n },\n\n // Kerala - Removed: Not validated against HDFC website\n // { date: '2025-04-14', name: 'Vishu', type: 'State', states: ['Kerala'] },\n // { date: '2026-04-14', name: 'Vishu', type: 'State', states: ['Kerala'] },\n // { date: '2027-04-14', name: 'Vishu', type: 'State', states: ['Kerala'] },\n\n // Gujarat\n {\n date: '2025-10-31',\n name: 'Gujarati New Year',\n type: 'State',\n states: ['Gujarat'],\n },\n {\n date: '2026-04-19',\n name: 'Bhagwan Shree Parshuram Jayanti',\n type: 'State',\n states: ['Gujarat'],\n },\n {\n date: '2027-11-08',\n name: 'Gujarati New Year',\n type: 'State',\n states: ['Gujarat'],\n },\n];\n\n// Combine all holidays\nexport const ALL_HOLIDAYS: Holiday[] = [\n ...NATIONAL_HOLIDAYS,\n ...RELIGIOUS_HOLIDAYS,\n ...STATE_HOLIDAYS,\n];\n","import { ALL_HOLIDAYS } from './holidays';\nimport {\n Holiday,\n HolidayQueryOptions,\n HolidayResult,\n IndianState,\n} from './types';\n\n/**\n * Get all banking holidays\n */\nexport function getAllHolidays(): Holiday[] {\n return [...ALL_HOLIDAYS];\n}\n\n/**\n * Query holidays based on various filters\n */\nexport function getHolidays(options: HolidayQueryOptions = {}): HolidayResult {\n let filtered = [...ALL_HOLIDAYS];\n\n // Filter by year\n if (options.year) {\n filtered = filtered.filter(h =>\n h.date.startsWith(options.year!.toString())\n );\n }\n\n // Filter by month\n if (options.month) {\n const monthStr = options.month.toString().padStart(2, '0');\n filtered = filtered.filter(h => h.date.substring(5, 7) === monthStr);\n }\n\n // Filter by date range\n if (options.startDate) {\n filtered = filtered.filter(h => h.date >= options.startDate!);\n }\n if (options.endDate) {\n filtered = filtered.filter(h => h.date <= options.endDate!);\n }\n\n // Filter by state\n if (options.state) {\n filtered = filtered.filter(h => {\n // National holidays apply to all states\n if (h.type === 'National') return true;\n // If no states specified, it applies to all states\n if (!h.states) return true;\n // Check if the state is in the list\n return h.states.includes(options.state!);\n });\n }\n\n // Sort by date\n filtered.sort((a, b) => a.date.localeCompare(b.date));\n\n return {\n holidays: filtered,\n total: filtered.length,\n query: options,\n };\n}\n\n/**\n * Get holidays for a specific year\n */\nexport function getHolidaysByYear(year: number): Holiday[] {\n return getHolidays({ year }).holidays;\n}\n\n/**\n * Get holidays for a specific month\n */\nexport function getHolidaysByMonth(year: number, month: number): Holiday[] {\n return getHolidays({ year, month }).holidays;\n}\n\n/**\n * Get holidays for a specific state\n */\nexport function getHolidaysByState(\n state: IndianState,\n year?: number\n): Holiday[] {\n return getHolidays({ state, year }).holidays;\n}\n\n/**\n * Get holidays for a date range\n */\nexport function getHolidaysByDateRange(\n startDate: string,\n endDate: string,\n options?: Omit<HolidayQueryOptions, 'startDate' | 'endDate'>\n): Holiday[] {\n return getHolidays({ ...options, startDate, endDate }).holidays;\n}\n\n/**\n * Check if a specific date is a banking holiday\n * @param date - Date to check (string in YYYY-MM-DD format or Date object)\n * @param state - Optional state filter\n */\nexport function isHoliday(date: string | Date, state?: IndianState): boolean {\n const dateStr =\n typeof date === 'string' ? date : date.toISOString().split('T')[0];\n const holidays = getHolidays({ state }).holidays;\n return holidays.some(h => h.date === dateStr);\n}\n\n/**\n * Get holiday information for a specific date\n * @param date - Date to check (string in YYYY-MM-DD format or Date object)\n * @param state - Optional state filter\n */\nexport function getHolidayByDate(\n date: string | Date,\n state?: IndianState\n): Holiday | null {\n const dateStr =\n typeof date === 'string' ? date : date.toISOString().split('T')[0];\n const holidays = getHolidays({ state }).holidays;\n return holidays.find(h => h.date === dateStr) || null;\n}\n\n/**\n * Get the next banking holiday from a given date\n * @param fromDate - Starting date (defaults to today)\n * @param state - Optional state filter\n */\nexport function getNextHoliday(\n fromDate?: string | Date,\n state?: IndianState\n): Holiday | null {\n const dateStr = fromDate\n ? typeof fromDate === 'string'\n ? fromDate\n : fromDate.toISOString().split('T')[0]\n : new Date().toISOString().split('T')[0];\n\n const holidays = getHolidays({ state }).holidays;\n const futureHolidays = holidays.filter(h => h.date > dateStr);\n\n if (futureHolidays.length === 0) return null;\n\n return futureHolidays[0];\n}\n\n/**\n * Get upcoming holidays within a specified number of days\n * @param days - Number of days to look ahead (default: 30)\n * @param state - Optional state filter\n */\nexport function getUpcomingHolidays(\n days: number = 30,\n state?: IndianState\n): Holiday[] {\n const today = new Date().toISOString().split('T')[0];\n const futureDate = new Date();\n futureDate.setDate(futureDate.getDate() + days);\n const endDate = futureDate.toISOString().split('T')[0];\n\n return getHolidaysByDateRange(today, endDate, { state });\n}\n\n/**\n * Get holidays count for a year\n * @param year - Year to get count for\n * @param state - Optional state filter\n */\nexport function getHolidayCount(year: number, state?: IndianState): number {\n return getHolidays({ year, state }).total;\n}\n\n// Export types\nexport type {\n Holiday,\n HolidayQueryOptions,\n HolidayResult,\n IndianState,\n HolidayType,\n} from './types';\n"]}
|