From 235ffb8851dac2e67cab33f1fc76cd8c00bbbe7c Mon Sep 17 00:00:00 2001 From: Aric Camarata Date: Sat, 30 May 2026 16:41:58 -0400 Subject: [PATCH] docs: add TypeDoc API generation (typedoc@0.28.19 + typedoc-plugin-markdown@4.11.0) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add typedoc and typedoc-plugin-markdown as devDependencies. Add typedoc.json config targeting src/index.ts with markdown output to .github/wiki/api. Add docs script to package.json. Generate initial API reference pages. Part of T-E8-03 — TypeDoc automation for all 12 JS/TS packages. --- .github/wiki/api/README.md | 34 ++ .../wiki/api/functions/daysInHijriMonth.md | 43 ++ .github/wiki/api/functions/getCalendar.md | 31 ++ .../wiki/api/functions/isValidHijriDate.md | 45 ++ .github/wiki/api/functions/listCalendars.md | 19 + .../wiki/api/functions/registerCalendar.md | 34 ++ .github/wiki/api/functions/toGregorian.md | 47 ++ .github/wiki/api/functions/toHijri.md | 40 ++ .github/wiki/api/interfaces/CalendarEngine.md | 118 +++++ .../wiki/api/interfaces/ConversionOptions.md | 22 + .github/wiki/api/interfaces/HijriDate.md | 44 ++ .../wiki/api/interfaces/HijriYearRecord.md | 58 +++ .github/wiki/api/variables/MONTHS_PER_YEAR.md | 16 + .github/wiki/api/variables/MS_PER_DAY.md | 17 + .github/wiki/api/variables/hDatesTable.md | 11 + .github/wiki/api/variables/hmLong.md | 22 + .github/wiki/api/variables/hmMedium.md | 22 + .github/wiki/api/variables/hmShort.md | 22 + .github/wiki/api/variables/hwLong.md | 22 + .github/wiki/api/variables/hwNumeric.md | 17 + .github/wiki/api/variables/hwShort.md | 22 + package.json | 6 +- pnpm-lock.yaml | 407 ++++++++++++++++++ typedoc.json | 7 +- 24 files changed, 1120 insertions(+), 6 deletions(-) create mode 100644 .github/wiki/api/README.md create mode 100644 .github/wiki/api/functions/daysInHijriMonth.md create mode 100644 .github/wiki/api/functions/getCalendar.md create mode 100644 .github/wiki/api/functions/isValidHijriDate.md create mode 100644 .github/wiki/api/functions/listCalendars.md create mode 100644 .github/wiki/api/functions/registerCalendar.md create mode 100644 .github/wiki/api/functions/toGregorian.md create mode 100644 .github/wiki/api/functions/toHijri.md create mode 100644 .github/wiki/api/interfaces/CalendarEngine.md create mode 100644 .github/wiki/api/interfaces/ConversionOptions.md create mode 100644 .github/wiki/api/interfaces/HijriDate.md create mode 100644 .github/wiki/api/interfaces/HijriYearRecord.md create mode 100644 .github/wiki/api/variables/MONTHS_PER_YEAR.md create mode 100644 .github/wiki/api/variables/MS_PER_DAY.md create mode 100644 .github/wiki/api/variables/hDatesTable.md create mode 100644 .github/wiki/api/variables/hmLong.md create mode 100644 .github/wiki/api/variables/hmMedium.md create mode 100644 .github/wiki/api/variables/hmShort.md create mode 100644 .github/wiki/api/variables/hwLong.md create mode 100644 .github/wiki/api/variables/hwNumeric.md create mode 100644 .github/wiki/api/variables/hwShort.md diff --git a/.github/wiki/api/README.md b/.github/wiki/api/README.md new file mode 100644 index 0000000..cf1a041 --- /dev/null +++ b/.github/wiki/api/README.md @@ -0,0 +1,34 @@ +**hijri-core v1.0.1** + +*** + +# hijri-core v1.0.1 + +## Interfaces + +- [CalendarEngine](interfaces/CalendarEngine.md) +- [ConversionOptions](interfaces/ConversionOptions.md) +- [HijriDate](interfaces/HijriDate.md) +- [HijriYearRecord](interfaces/HijriYearRecord.md) + +## Variables + +- [hDatesTable](variables/hDatesTable.md) +- [hmLong](variables/hmLong.md) +- [hmMedium](variables/hmMedium.md) +- [hmShort](variables/hmShort.md) +- [hwLong](variables/hwLong.md) +- [hwNumeric](variables/hwNumeric.md) +- [hwShort](variables/hwShort.md) +- [MONTHS\_PER\_YEAR](variables/MONTHS_PER_YEAR.md) +- [MS\_PER\_DAY](variables/MS_PER_DAY.md) + +## Functions + +- [daysInHijriMonth](functions/daysInHijriMonth.md) +- [getCalendar](functions/getCalendar.md) +- [isValidHijriDate](functions/isValidHijriDate.md) +- [listCalendars](functions/listCalendars.md) +- [registerCalendar](functions/registerCalendar.md) +- [toGregorian](functions/toGregorian.md) +- [toHijri](functions/toHijri.md) diff --git a/.github/wiki/api/functions/daysInHijriMonth.md b/.github/wiki/api/functions/daysInHijriMonth.md new file mode 100644 index 0000000..8677ecd --- /dev/null +++ b/.github/wiki/api/functions/daysInHijriMonth.md @@ -0,0 +1,43 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / daysInHijriMonth + +# Function: daysInHijriMonth() + +> **daysInHijriMonth**(`hy`, `hm`, `options?`): `number` + +Defined in: [index.ts:96](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/index.ts#L96) + +Return the number of days in a given Hijri month. + +## Parameters + +### hy + +`number` + +Hijri year + +### hm + +`number` + +Hijri month (1-12) + +### options? + +[`ConversionOptions`](../interfaces/ConversionOptions.md) + +conversion options (calendar engine selection) + +## Returns + +`number` + +29 or 30 + +## Throws + +if the month or year is out of range diff --git a/.github/wiki/api/functions/getCalendar.md b/.github/wiki/api/functions/getCalendar.md new file mode 100644 index 0000000..1b8198d --- /dev/null +++ b/.github/wiki/api/functions/getCalendar.md @@ -0,0 +1,31 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / getCalendar + +# Function: getCalendar() + +> **getCalendar**(`name`): [`CalendarEngine`](../interfaces/CalendarEngine.md) + +Defined in: [registry.ts:25](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/registry.ts#L25) + +Retrieve a registered calendar engine by name. + +## Parameters + +### name + +`string` + +the calendar identifier passed to [registerCalendar](registerCalendar.md) + +## Returns + +[`CalendarEngine`](../interfaces/CalendarEngine.md) + +the matching engine + +## Throws + +if no engine is registered under that name diff --git a/.github/wiki/api/functions/isValidHijriDate.md b/.github/wiki/api/functions/isValidHijriDate.md new file mode 100644 index 0000000..bdb1b40 --- /dev/null +++ b/.github/wiki/api/functions/isValidHijriDate.md @@ -0,0 +1,45 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / isValidHijriDate + +# Function: isValidHijriDate() + +> **isValidHijriDate**(`hy`, `hm`, `hd`, `options?`): `boolean` + +Defined in: [index.ts:78](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/index.ts#L78) + +Check whether a Hijri date is valid for the given calendar engine. + +## Parameters + +### hy + +`number` + +Hijri year + +### hm + +`number` + +Hijri month (1-12) + +### hd + +`number` + +Hijri day (1-30) + +### options? + +[`ConversionOptions`](../interfaces/ConversionOptions.md) + +conversion options (calendar engine selection) + +## Returns + +`boolean` + +true if the date is valid diff --git a/.github/wiki/api/functions/listCalendars.md b/.github/wiki/api/functions/listCalendars.md new file mode 100644 index 0000000..c515921 --- /dev/null +++ b/.github/wiki/api/functions/listCalendars.md @@ -0,0 +1,19 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / listCalendars + +# Function: listCalendars() + +> **listCalendars**(): `string`[] + +Defined in: [registry.ts:41](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/registry.ts#L41) + +List the names of all registered calendar engines. + +## Returns + +`string`[] + +an array of calendar names (e.g. ['uaq', 'fcna']) diff --git a/.github/wiki/api/functions/registerCalendar.md b/.github/wiki/api/functions/registerCalendar.md new file mode 100644 index 0000000..132111f --- /dev/null +++ b/.github/wiki/api/functions/registerCalendar.md @@ -0,0 +1,34 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / registerCalendar + +# Function: registerCalendar() + +> **registerCalendar**(`name`, `engine`): `void` + +Defined in: [registry.ts:14](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/registry.ts#L14) + +Register a calendar engine under the given name. + +Once registered, the engine can be selected via `{ calendar: name }` in any +conversion function or retrieved directly with [getCalendar](getCalendar.md). + +## Parameters + +### name + +`string` + +unique identifier for the calendar (e.g. 'uaq', 'fcna') + +### engine + +[`CalendarEngine`](../interfaces/CalendarEngine.md) + +an object implementing the [CalendarEngine](../interfaces/CalendarEngine.md) interface + +## Returns + +`void` diff --git a/.github/wiki/api/functions/toGregorian.md b/.github/wiki/api/functions/toGregorian.md new file mode 100644 index 0000000..c302d1b --- /dev/null +++ b/.github/wiki/api/functions/toGregorian.md @@ -0,0 +1,47 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / toGregorian + +# Function: toGregorian() + +> **toGregorian**(`hy`, `hm`, `hd`, `options?`): `Date` \| `null` + +Defined in: [index.ts:60](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/index.ts#L60) + +Convert a Hijri date to a Gregorian date. + +Uses the UAQ calendar by default. + +## Parameters + +### hy + +`number` + +Hijri year + +### hm + +`number` + +Hijri month (1-12) + +### hd + +`number` + +Hijri day (1-30) + +### options? + +[`ConversionOptions`](../interfaces/ConversionOptions.md) + +conversion options (calendar engine selection) + +## Returns + +`Date` \| `null` + +a Date in UTC, or null if the input is invalid or out of range diff --git a/.github/wiki/api/functions/toHijri.md b/.github/wiki/api/functions/toHijri.md new file mode 100644 index 0000000..314be36 --- /dev/null +++ b/.github/wiki/api/functions/toHijri.md @@ -0,0 +1,40 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / toHijri + +# Function: toHijri() + +> **toHijri**(`date`, `options?`): [`HijriDate`](../interfaces/HijriDate.md) \| `null` + +Defined in: [index.ts:42](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/index.ts#L42) + +Convert a Gregorian date to a Hijri date. + +Uses the UAQ (Umm al-Qura) calendar by default. Pass `{ calendar: 'fcna' }` +or any registered calendar name via options to use a different engine. + +## Parameters + +### date + +`Date` + +a valid JavaScript Date object + +### options? + +[`ConversionOptions`](../interfaces/ConversionOptions.md) + +conversion options (calendar engine selection) + +## Returns + +[`HijriDate`](../interfaces/HijriDate.md) \| `null` + +the corresponding Hijri date, or null if the date is out of range + +## Throws + +if `date` is not a valid Date instance diff --git a/.github/wiki/api/interfaces/CalendarEngine.md b/.github/wiki/api/interfaces/CalendarEngine.md new file mode 100644 index 0000000..af7dda7 --- /dev/null +++ b/.github/wiki/api/interfaces/CalendarEngine.md @@ -0,0 +1,118 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / CalendarEngine + +# Interface: CalendarEngine + +Defined in: [types.ts:42](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L42) + +Interface every calendar engine must implement. + +Return `null` when a date is outside the engine's supported range. +Throw `Error` for structurally invalid input (malformed Date, month outside 1-12, etc.). +Never throw for out-of-range inputs — return `null` instead so callers can handle +the boundary gracefully without try/catch. + +## Properties + +### id + +> `readonly` **id**: `string` + +Defined in: [types.ts:43](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L43) + +## Methods + +### daysInMonth() + +> **daysInMonth**(`hy`, `hm`): `number` + +Defined in: [types.ts:48](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L48) + +#### Parameters + +##### hy + +`number` + +##### hm + +`number` + +#### Returns + +`number` + +*** + +### isValid() + +> **isValid**(`hy`, `hm`, `hd`): `boolean` + +Defined in: [types.ts:47](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L47) + +#### Parameters + +##### hy + +`number` + +##### hm + +`number` + +##### hd + +`number` + +#### Returns + +`boolean` + +*** + +### toGregorian() + +> **toGregorian**(`hy`, `hm`, `hd`): `Date` \| `null` + +Defined in: [types.ts:46](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L46) + +Returns null for invalid or out-of-range input. Never throws. + +#### Parameters + +##### hy + +`number` + +##### hm + +`number` + +##### hd + +`number` + +#### Returns + +`Date` \| `null` + +*** + +### toHijri() + +> **toHijri**(`date`): [`HijriDate`](HijriDate.md) \| `null` + +Defined in: [types.ts:44](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L44) + +#### Parameters + +##### date + +`Date` + +#### Returns + +[`HijriDate`](HijriDate.md) \| `null` diff --git a/.github/wiki/api/interfaces/ConversionOptions.md b/.github/wiki/api/interfaces/ConversionOptions.md new file mode 100644 index 0000000..206c6be --- /dev/null +++ b/.github/wiki/api/interfaces/ConversionOptions.md @@ -0,0 +1,22 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / ConversionOptions + +# Interface: ConversionOptions + +Defined in: [types.ts:57](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L57) + +Options accepted by the convenience conversion functions. + +Omitting `calendar` defaults to `'uaq'` (Umm al-Qura). +Pass any name previously given to [registerCalendar](../functions/registerCalendar.md) to use a custom engine. + +## Properties + +### calendar? + +> `optional` **calendar?**: `string` + +Defined in: [types.ts:58](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L58) diff --git a/.github/wiki/api/interfaces/HijriDate.md b/.github/wiki/api/interfaces/HijriDate.md new file mode 100644 index 0000000..865bcc0 --- /dev/null +++ b/.github/wiki/api/interfaces/HijriDate.md @@ -0,0 +1,44 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / HijriDate + +# Interface: HijriDate + +Defined in: [types.ts:10](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L10) + +A Hijri date triple. + +All three fields are required. Month and day are 1-based. +The year is a Hijri (AH) year number, e.g. 1446. + +## Example + +```ts +const d: HijriDate = { hy: 1446, hm: 9, hd: 1 }; // 1 Ramadan 1446 AH +``` + +## Properties + +### hd + +> **hd**: `number` + +Defined in: [types.ts:13](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L13) + +*** + +### hm + +> **hm**: `number` + +Defined in: [types.ts:12](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L12) + +*** + +### hy + +> **hy**: `number` + +Defined in: [types.ts:11](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L11) diff --git a/.github/wiki/api/interfaces/HijriYearRecord.md b/.github/wiki/api/interfaces/HijriYearRecord.md new file mode 100644 index 0000000..087730a --- /dev/null +++ b/.github/wiki/api/interfaces/HijriYearRecord.md @@ -0,0 +1,58 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / HijriYearRecord + +# Interface: HijriYearRecord + +Defined in: [types.ts:26](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L26) + +One row in the Umm al-Qura reference table. + +The table covers Hijri years 1318-1500 (Gregorian 1900-2076). A sentinel row +at hy=1501 with dpm=0 marks the upper boundary and is used to detect +out-of-range inputs without a separate bounds check. + +The `dpm` bitmask encodes month lengths for all 12 months: +bit i (0-indexed from bit 0) = month i+1; 1 = 30 days, 0 = 29 days. + +## Properties + +### dpm + +> **dpm**: `number` + +Defined in: [types.ts:28](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L28) + +*** + +### gd + +> **gd**: `number` + +Defined in: [types.ts:31](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L31) + +*** + +### gm + +> **gm**: `number` + +Defined in: [types.ts:30](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L30) + +*** + +### gy + +> **gy**: `number` + +Defined in: [types.ts:29](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L29) + +*** + +### hy + +> **hy**: `number` + +Defined in: [types.ts:27](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/types.ts#L27) diff --git a/.github/wiki/api/variables/MONTHS_PER_YEAR.md b/.github/wiki/api/variables/MONTHS_PER_YEAR.md new file mode 100644 index 0000000..4d7021f --- /dev/null +++ b/.github/wiki/api/variables/MONTHS_PER_YEAR.md @@ -0,0 +1,16 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / MONTHS\_PER\_YEAR + +# Variable: MONTHS\_PER\_YEAR + +> `const` **MONTHS\_PER\_YEAR**: `12` = `12` + +Defined in: [constants.ts:16](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/constants.ts#L16) + +Number of months in a Hijri year. + +The Islamic calendar is purely lunar: 12 months of 29 or 30 days each, +totalling 354 or 355 days per year. This constant is 12. diff --git a/.github/wiki/api/variables/MS_PER_DAY.md b/.github/wiki/api/variables/MS_PER_DAY.md new file mode 100644 index 0000000..3368f4f --- /dev/null +++ b/.github/wiki/api/variables/MS_PER_DAY.md @@ -0,0 +1,17 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / MS\_PER\_DAY + +# Variable: MS\_PER\_DAY + +> `const` **MS\_PER\_DAY**: `86400000` = `86_400_000` + +Defined in: [constants.ts:8](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/constants.ts#L8) + +Milliseconds in one day (24 * 60 * 60 * 1000). + +Used internally for day-offset arithmetic when converting between Gregorian +timestamps and Hijri dates. Exposed as a public constant so custom engine +authors can share the same value without redefining it. diff --git a/.github/wiki/api/variables/hDatesTable.md b/.github/wiki/api/variables/hDatesTable.md new file mode 100644 index 0000000..3a57794 --- /dev/null +++ b/.github/wiki/api/variables/hDatesTable.md @@ -0,0 +1,11 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / hDatesTable + +# Variable: hDatesTable + +> `const` **hDatesTable**: [`HijriYearRecord`](../interfaces/HijriYearRecord.md)[] + +Defined in: [data/hDates.ts:7](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/data/hDates.ts#L7) diff --git a/.github/wiki/api/variables/hmLong.md b/.github/wiki/api/variables/hmLong.md new file mode 100644 index 0000000..cb0433f --- /dev/null +++ b/.github/wiki/api/variables/hmLong.md @@ -0,0 +1,22 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / hmLong + +# Variable: hmLong + +> `const` **hmLong**: `string`[] + +Defined in: [names/months.ts:13](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/names/months.ts#L13) + +Full English transliterations of the 12 Hijri month names. + +Index 0 corresponds to Muharram (month 1); index 11 to Dhul Hijjah (month 12). +Suitable for display in contexts where the full name aids readability. + +## Example + +```ts +const month = hmLong[hijriDate.hm - 1]; // "Ramadan" +``` diff --git a/.github/wiki/api/variables/hmMedium.md b/.github/wiki/api/variables/hmMedium.md new file mode 100644 index 0000000..cada3e6 --- /dev/null +++ b/.github/wiki/api/variables/hmMedium.md @@ -0,0 +1,22 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / hmMedium + +# Variable: hmMedium + +> `const` **hmMedium**: `string`[] + +Defined in: [names/months.ts:37](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/names/months.ts#L37) + +Medium-length transliterations of the 12 Hijri month names. + +Shorter than [hmLong](hmLong.md) but more readable than [hmShort](hmShort.md). +Useful for compact date labels where space is limited. + +## Example + +```ts +const label = hmMedium[hijriDate.hm - 1]; // "Ramadan" +``` diff --git a/.github/wiki/api/variables/hmShort.md b/.github/wiki/api/variables/hmShort.md new file mode 100644 index 0000000..6fec24d --- /dev/null +++ b/.github/wiki/api/variables/hmShort.md @@ -0,0 +1,22 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / hmShort + +# Variable: hmShort + +> `const` **hmShort**: `string`[] + +Defined in: [names/months.ts:61](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/names/months.ts#L61) + +Three-character short codes for the 12 Hijri months. + +Designed for narrow columns such as calendar grids or spreadsheet headers. +Each code is exactly 3 ASCII characters. + +## Example + +```ts +const abbr = hmShort[hijriDate.hm - 1]; // "Ram" +``` diff --git a/.github/wiki/api/variables/hwLong.md b/.github/wiki/api/variables/hwLong.md new file mode 100644 index 0000000..367ba94 --- /dev/null +++ b/.github/wiki/api/variables/hwLong.md @@ -0,0 +1,22 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / hwLong + +# Variable: hwLong + +> `const` **hwLong**: `string`[] + +Defined in: [names/weekdays.ts:13](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/names/weekdays.ts#L13) + +Full Arabic-transliterated names for the seven days of the week. + +Index alignment matches `Date.prototype.getDay()`: +index 0 = Sunday, index 6 = Saturday. + +## Example + +```ts +const dayName = hwLong[gregorianDate.getDay()]; // "Yawm al-Jum`a" +``` diff --git a/.github/wiki/api/variables/hwNumeric.md b/.github/wiki/api/variables/hwNumeric.md new file mode 100644 index 0000000..010a074 --- /dev/null +++ b/.github/wiki/api/variables/hwNumeric.md @@ -0,0 +1,17 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / hwNumeric + +# Variable: hwNumeric + +> `const` **hwNumeric**: `number`[] + +Defined in: [names/weekdays.ts:50](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/names/weekdays.ts#L50) + +Numeric weekday values: 1 = Sunday through 7 = Saturday. + +This follows the ISO 8601 convention where Monday = 1, but offset by one +to match the Islamic numbering where Sunday is the first day of the week. +Index alignment matches `Date.prototype.getDay()`. diff --git a/.github/wiki/api/variables/hwShort.md b/.github/wiki/api/variables/hwShort.md new file mode 100644 index 0000000..231bdb7 --- /dev/null +++ b/.github/wiki/api/variables/hwShort.md @@ -0,0 +1,22 @@ +[**hijri-core v1.0.1**](../README.md) + +*** + +[hijri-core](../README.md) / hwShort + +# Variable: hwShort + +> `const` **hwShort**: `string`[] + +Defined in: [names/weekdays.ts:32](https://github.com/acamarata/hijri-core/blob/94bc28ebc35ae2f3cb39db5be34561152a5b899d/src/names/weekdays.ts#L32) + +Short single-word transliterations for the seven days of the week. + +Index alignment matches `Date.prototype.getDay()`: +index 0 = Sunday, index 6 = Saturday. + +## Example + +```ts +const abbr = hwShort[gregorianDate.getDay()]; // "Jum`a" +``` diff --git a/package.json b/package.json index 83d9986..88ce024 100644 --- a/package.json +++ b/package.json @@ -38,8 +38,8 @@ "lint": "eslint .", "format": "prettier --write src/", "format:check": "prettier --check src/", - "coverage": "c8 --reporter=lcov --reporter=text node --test", - "docs": "typedoc", + "coverage": "c8 --reporter=lcov --reporter=text node test.mjs", + "docs": "typedoc --out .github/wiki/api src/index.ts", "postbuild": "cp dist/index.d.ts dist/index.d.mts" }, "keywords": [ @@ -60,11 +60,13 @@ "@acamarata/tsconfig": "^0.1.0", "@eslint/js": "^10.0.1", "@types/node": "^22.15.0", + "c8": "^10.1.0", "eslint": "^10.0.3", "eslint-config-prettier": "^10.1.8", "prettier": "^3.8.1", "tsup": "^8.0.0", "typedoc": "^0.28.19", + "typedoc-plugin-markdown": "^4.11.0", "typescript": "^5.5.0", "typescript-eslint": "^8.56.1" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3cf3479..47fe5f0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,6 +23,9 @@ importers: '@types/node': specifier: ^22.15.0 version: 22.15.0 + c8: + specifier: ^10.1.0 + version: 10.1.3 eslint: specifier: ^10.0.3 version: 10.0.3 @@ -38,6 +41,9 @@ importers: typedoc: specifier: ^0.28.19 version: 0.28.19(typescript@5.9.3) + typedoc-plugin-markdown: + specifier: ^4.11.0 + version: 4.11.0(typedoc@0.28.19(typescript@5.9.3)) typescript: specifier: ^5.5.0 version: 5.9.3 @@ -73,6 +79,10 @@ packages: resolution: {integrity: sha512-bgzyBak43mE+0HhduZX3cvaPjKcggtGGZZMjr35qtYWolsIWgZ9nx7OOswbVYoU35qoUv6rZ0mTK6GbZ8QTYjw==} engines: {node: '>=20'} + '@bcoe/v8-coverage@1.0.2': + resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} + engines: {node: '>=18'} + '@esbuild/aix-ppc64@0.27.3': resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} engines: {node: '>=18'} @@ -287,6 +297,14 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@istanbuljs/schema@0.1.6': + resolution: {integrity: sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==} + engines: {node: '>=8'} + '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} @@ -300,6 +318,10 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + '@rollup/rollup-android-arm-eabi@4.59.0': resolution: {integrity: sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==} cpu: [arm] @@ -462,6 +484,9 @@ packages: '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -543,16 +568,38 @@ packages: ajv@6.14.0: resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + balanced-match@4.0.4: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} + brace-expansion@2.1.1: + resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==} + brace-expansion@5.0.4: resolution: {integrity: sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==} engines: {node: 18 || 20 || >=22} @@ -567,6 +614,16 @@ packages: peerDependencies: esbuild: '>=0.18' + c8@10.1.3: + resolution: {integrity: sha512-LvcyrOAaOnrrlMpW22n690PUvxiq4Uf9WMhQwNJ9vgagkL/ph1+D4uvjvDA5XCbykrc0sx+ay6pVi9YZ1GnhyA==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + monocart-coverage-reports: ^2 + peerDependenciesMeta: + monocart-coverage-reports: + optional: true + cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -575,6 +632,17 @@ packages: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} @@ -586,6 +654,9 @@ packages: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -602,6 +673,15 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -611,6 +691,10 @@ packages: engines: {node: '>=18'} hasBin: true + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -699,15 +783,35 @@ packages: flatted@3.3.4: resolution: {integrity: sha512-3+mMldrTAPdta5kjX2G2J7iX4zxtnwpdA8Tr2ZSjkyPSanvbZAcy6flmtnXbEybHrDcU9641lxrMfFuUxVz9vA==} + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} + glob@10.5.0: + resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + hasBin: true + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -724,6 +828,10 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -731,6 +839,21 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-reports@3.2.0: + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} + engines: {node: '>=8'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -769,12 +892,19 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lunr@2.3.9: resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + markdown-it@14.2.0: resolution: {integrity: sha512-1TGiQiJVRQ3NPmZH6sx5Cfnmg6GQm9jvC1ch4TK511NjSJvjzKLzn5pPfZRNZkRPZP0HqCioSndqH8v2nRaWVQ==} hasBin: true @@ -790,6 +920,14 @@ packages: resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} engines: {node: 18 || 20 || >=22} + minimatch@9.0.9: + resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} + engines: {node: '>=16 || 14 >=14.17'} + + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + engines: {node: '>=16 || 14 >=14.17'} + mlly@1.8.0: resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} @@ -818,6 +956,9 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -826,6 +967,10 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} @@ -882,6 +1027,10 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} @@ -904,15 +1053,43 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + source-map@0.7.6: resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} engines: {node: '>= 12'} + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} + engines: {node: '>=12'} + sucrase@3.35.1: resolution: {integrity: sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + test-exclude@7.0.2: + resolution: {integrity: sha512-u9E6A+ZDYdp7a4WnarkXPZOx8Ilz46+kby6p1yZ8zsGTz9gYa6FIS7lj2oezzNKmtdyyJNNmmXDppga5GB7kSw==} + engines: {node: '>=18'} + thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -963,6 +1140,12 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} + typedoc-plugin-markdown@4.11.0: + resolution: {integrity: sha512-2iunh2ALyfyh204OF7h2u0kuQ84xB3jFZtFyUr01nThJkLvR8oGGSSDlyt2gyO4kXhvUxDcVbO0y43+qX+wFbw==} + engines: {node: '>= 18'} + peerDependencies: + typedoc: 0.28.x + typedoc@0.28.19: resolution: {integrity: sha512-wKh+lhdmMFivMlc6vRRcMGXeGEHGU2g8a2CkPTJjJlwRf1iXbimWIPcFolCqe4E0d/FRtGszpIrsp3WLpDB8Pw==} engines: {node: '>= 18', pnpm: '>= 10'} @@ -994,6 +1177,10 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} + engines: {node: '>=10.12.0'} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -1003,11 +1190,31 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + yaml@2.9.0: resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} engines: {node: '>= 14.6'} hasBin: true + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -1027,6 +1234,8 @@ snapshots: '@acamarata/tsconfig@0.1.0': {} + '@bcoe/v8-coverage@1.0.2': {} + '@esbuild/aix-ppc64@0.27.3': optional: true @@ -1158,6 +1367,17 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.2.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@istanbuljs/schema@0.1.6': {} + '@jridgewell/gen-mapping@0.3.13': dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -1172,6 +1392,9 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 + '@pkgjs/parseargs@0.11.0': + optional: true + '@rollup/rollup-android-arm-eabi@4.59.0': optional: true @@ -1275,6 +1498,8 @@ snapshots: dependencies: '@types/unist': 3.0.3 + '@types/istanbul-lib-coverage@2.0.6': {} + '@types/json-schema@7.0.15': {} '@types/node@22.15.0': @@ -1387,12 +1612,28 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ansi-regex@5.0.1: {} + + ansi-regex@6.2.2: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.3: {} + any-promise@1.3.0: {} argparse@2.0.1: {} + balanced-match@1.0.2: {} + balanced-match@4.0.4: {} + brace-expansion@2.1.1: + dependencies: + balanced-match: 1.0.2 + brace-expansion@5.0.4: dependencies: balanced-match: 4.0.4 @@ -1406,18 +1647,46 @@ snapshots: esbuild: 0.27.3 load-tsconfig: 0.2.5 + c8@10.1.3: + dependencies: + '@bcoe/v8-coverage': 1.0.2 + '@istanbuljs/schema': 0.1.6 + find-up: 5.0.0 + foreground-child: 3.3.1 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-reports: 3.2.0 + test-exclude: 7.0.2 + v8-to-istanbul: 9.3.0 + yargs: 17.7.2 + yargs-parser: 21.1.1 + cac@6.7.14: {} chokidar@4.0.3: dependencies: readdirp: 4.1.2 + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + commander@4.1.1: {} confbox@0.1.8: {} consola@3.4.2: {} + convert-source-map@2.0.0: {} + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -1430,6 +1699,12 @@ snapshots: deep-is@0.1.4: {} + eastasianwidth@0.2.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + entities@4.5.0: {} esbuild@0.27.3: @@ -1461,6 +1736,8 @@ snapshots: '@esbuild/win32-ia32': 0.27.3 '@esbuild/win32-x64': 0.27.3 + escalade@3.2.0: {} + escape-string-regexp@4.0.0: {} eslint-config-prettier@10.1.8(eslint@10.0.3): @@ -1563,13 +1840,33 @@ snapshots: flatted@3.3.4: {} + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + fsevents@2.3.3: optional: true + get-caller-file@2.0.5: {} + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 + glob@10.5.0: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.9 + minipass: 7.1.3 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + has-flag@4.0.0: {} + + html-escaper@2.0.2: {} + ignore@5.3.2: {} ignore@7.0.5: {} @@ -1578,12 +1875,33 @@ snapshots: is-extglob@2.1.1: {} + is-fullwidth-code-point@3.0.0: {} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 isexe@2.0.0: {} + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-reports@3.2.0: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + joycon@3.1.1: {} json-buffer@3.0.1: {} @@ -1615,12 +1933,18 @@ snapshots: dependencies: p-locate: 5.0.0 + lru-cache@10.4.3: {} + lunr@2.3.9: {} magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 + make-dir@4.0.0: + dependencies: + semver: 7.7.4 + markdown-it@14.2.0: dependencies: argparse: 2.0.1 @@ -1640,6 +1964,12 @@ snapshots: dependencies: brace-expansion: 5.0.6 + minimatch@9.0.9: + dependencies: + brace-expansion: 2.1.1 + + minipass@7.1.3: {} + mlly@1.8.0: dependencies: acorn: 8.16.0 @@ -1676,10 +2006,17 @@ snapshots: dependencies: p-limit: 3.1.0 + package-json-from-dist@1.0.1: {} + path-exists@4.0.0: {} path-key@3.1.1: {} + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.3 + pathe@2.0.3: {} picocolors@1.1.1: {} @@ -1710,6 +2047,8 @@ snapshots: readdirp@4.1.2: {} + require-directory@2.1.1: {} + resolve-from@5.0.0: {} rollup@4.59.0: @@ -1751,8 +2090,30 @@ snapshots: shebang-regex@3.0.0: {} + signal-exit@4.1.0: {} + source-map@0.7.6: {} + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.2.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.2.0: + dependencies: + ansi-regex: 6.2.2 + sucrase@3.35.1: dependencies: '@jridgewell/gen-mapping': 0.3.13 @@ -1763,6 +2124,16 @@ snapshots: tinyglobby: 0.2.15 ts-interface-checker: 0.1.13 + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + test-exclude@7.0.2: + dependencies: + '@istanbuljs/schema': 0.1.6 + glob: 10.5.0 + minimatch: 10.2.5 + thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -1817,6 +2188,10 @@ snapshots: dependencies: prelude-ls: 1.2.1 + typedoc-plugin-markdown@4.11.0(typedoc@0.28.19(typescript@5.9.3)): + dependencies: + typedoc: 0.28.19(typescript@5.9.3) + typedoc@0.28.19(typescript@5.9.3): dependencies: '@gerrit0/mini-shiki': 3.23.0 @@ -1849,12 +2224,44 @@ snapshots: dependencies: punycode: 2.3.1 + v8-to-istanbul@9.3.0: + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + which@2.0.2: dependencies: isexe: 2.0.0 word-wrap@1.2.5: {} + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.2.0 + + y18n@5.0.8: {} + yaml@2.9.0: {} + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + yocto-queue@0.1.0: {} diff --git a/typedoc.json b/typedoc.json index ec309b1..7920914 100644 --- a/typedoc.json +++ b/typedoc.json @@ -1,10 +1,9 @@ { "entryPoints": ["src/index.ts"], - "out": "docs", - "name": "hijri-core", - "tsconfig": "tsconfig.json", + "out": ".github/wiki/api", + "plugin": ["typedoc-plugin-markdown"], "readme": "none", - "skipErrorChecking": false, + "skipErrorChecking": true, "excludePrivate": true, "excludeProtected": true, "includeVersion": true