temporal-hijri/.wiki/Home.md
Aric Camarata 51e07a65b3 feat: initial release of temporal-hijri v1.0.0
Temporal Calendar Protocol implementation for Hijri calendar via hijri-core.
Provides HijriCalendar base class, UaqCalendar (UAQ engine), FcnaCalendar
(FCNA engine), and convenience singletons uaqCalendar/fcnaCalendar.

Calendar protocol: year, month, monthCode, day, daysInMonth, daysInYear,
monthsInYear, inLeapYear, dayOfWeek, dayOfYear, weekOfYear, daysInWeek,
dateFromFields, yearMonthFromFields, monthDayFromFields, dateAdd,
dateUntil, mergeFields.

dateAdd applies year/month increments in Hijri coordinate space (correct
semantics for variable-length lunar months), then applies days/weeks in
ISO space. Day-of-month clamped on month boundary changes. 18 ESM + 8 CJS
tests passing. Dual CJS/ESM build.
2026-02-25 14:17:27 -05:00

34 lines
1.3 KiB
Markdown

# temporal-hijri
Temporal Calendar Protocol implementation for the Hijri calendar system.
This package provides `UaqCalendar` and `FcnaCalendar` as plug-in calendar objects for the TC39 `Temporal` proposal. It bridges the ISO-centric `Temporal.PlainDate` API with Hijri date arithmetic via [hijri-core](https://github.com/acamarata/hijri-core).
## Pages
- [Home](Home) — you are here
- [API Reference](API-Reference) — full method signatures and return types
- [Architecture](Architecture) — design decisions, protocol internals, arithmetic strategy
## Quick links
- [GitHub repository](https://github.com/acamarata/temporal-hijri)
- [npm package](https://www.npmjs.com/package/temporal-hijri)
- [hijri-core](https://github.com/acamarata/hijri-core) — the underlying calendar engine
## Calendar systems
| Calendar | ID | Description |
|---|---|---|
| Umm al-Qura | `hijri-uaq` | Official Saudi calendar, table-driven, covers 1318-1500 AH |
| FCNA/ISNA | `hijri-fcna` | North American standard, astronomical new moon calculation |
## Requirements
- Node.js 20+
- `hijri-core ^1.0.0` (peer dependency)
- `@js-temporal/polyfill ^0.4.0` (optional peer dependency — needed if native `Temporal` is unavailable)
---
[Home](Home) · [API Reference](API-Reference) · [Architecture](Architecture)