markdown

# EthioHoliday 🇪🇹

[![npm version](https://img.shields.io/npm/v/ethioholiday.svg)](https://www.npmjs.com/package/ethioholiday)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

A complete Ethiopian holiday calculator that provides accurate dates for all Ethiopian public holidays, religious festivals, and special occasions in both Ethiopian and Gregorian calendars.

## Features ✨

- 📅 **Complete holiday list** - All official Ethiopian public holidays
- ⏳ **Future-proof** - Works for any year (past, present, or future)
- 🔄 **Auto-conversion** - Provides dates in both Ethiopian and Gregorian systems
- 🎯 **Accurate calculations** - Proper handling of movable holidays like Fasika
- 📦 **Lightweight** - Zero dependencies (except Ethiopian calendar converter)

## Installation

```bash

Basic Usage
Get all holidays for a year
javascript

import { getEthiopianHolidays } from 'ethioholiday';

// Get holidays for Ethiopian year 2034
const holidays2034 = getEthiopianHolidays(2034);

holidays2034.forEach(holiday => {
  console.log(`${holiday.name}:
    Ethiopian: ${holiday.ethiopianDate.year}/${holiday.ethiopianDate.month}/${holiday.ethiopianDate.day}
    Gregorian: ${holiday.gregorianDate.year}/${holiday.gregorianDate.month}/${holiday.gregorianDate.day}
    ${holiday.isPublicHoliday ? '(Public Holiday)' : ''}
  `);
});

Get specific holidays
javascript

// Get current year's holidays
const currentEthYear = 2016; // Example - use toEthiopian() for dynamic year
const holidays = getEthiopianHolidays(currentEthYear);

const enkutatash = holidays.find(h => h.name.includes('Enkutatash'));
const fasika = holidays.find(h => h.name.includes('Fasika'));

console.log('New Year:', enkutatash);
console.log('Easter:', fasika);

Complete Holiday List

The package returns these official holidays:
Fixed Date Holidays
Holiday	Ethiopian Date
Enkutatash (New Year)	Meskerem 1
Meskel	Meskerem 17
Genna (Christmas)	Tahsas 29
Timket (Epiphany)	Tir 11
Victory of Adwa	Yekatit 23
Patriots' Victory Day	Miazia 27
Downfall of Derg	Ginbot 20
National Day	Sene 20
Movable Holidays

    Fasika (Ethiopian Easter) - Calculated annually

    Siklet (Good Friday) - 2 days before Fasika

    Eid al-Fitr - Approximate Islamic date

    Eid al-Adha - Approximate Islamic date

API Reference
getEthiopianHolidays(year: number): Holiday[]

Parameter:

    year: Ethiopian calendar year (1-9999)

Returns an array of Holiday objects with:
typescript

{
  name: string;               // Holiday name
  ethiopianDate: {            // Ethiopian date
    year: number;
    month: number;            // 1-13 (13 = Pagume)
    day: number;
  };
  gregorianDate: {            // Gregorian date
    year: number;
    month: number;            // 1-12
    day: number;
  };
  isPublicHoliday: boolean;   // True for official public holidays
}