From 4227afc2c3993234794b3a1a561c080edc6d4d4e 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 | 45 +++++ .github/wiki/api/functions/calcTimes.md | 81 ++++++++ .github/wiki/api/functions/calcTimesAll.md | 81 ++++++++ .github/wiki/api/functions/getAngles.md | 57 ++++++ .github/wiki/api/functions/getAsr.md | 45 +++++ .github/wiki/api/functions/getMidnight.md | 33 ++++ .github/wiki/api/functions/getMscFajr.md | 43 +++++ .github/wiki/api/functions/getMscIsha.md | 51 +++++ .github/wiki/api/functions/getQiyam.md | 33 ++++ .github/wiki/api/functions/getTimes.md | 80 ++++++++ .github/wiki/api/functions/getTimesAll.md | 75 ++++++++ .github/wiki/api/functions/solarEphemeris.md | 36 ++++ .github/wiki/api/functions/toJulianDate.md | 34 ++++ .../wiki/api/interfaces/AtmosphericParams.md | 35 ++++ .../api/interfaces/FormattedPrayerTimes.md | 91 +++++++++ .../api/interfaces/FormattedPrayerTimesAll.md | 101 ++++++++++ .../wiki/api/interfaces/MethodDefinition.md | 85 +++++++++ .github/wiki/api/interfaces/PrayerTimes.md | 115 ++++++++++++ .github/wiki/api/interfaces/PrayerTimesAll.md | 165 +++++++++++++++++ .github/wiki/api/interfaces/TwilightAngles.md | 31 ++++ .../wiki/api/type-aliases/AsrConvention.md | 13 ++ .../wiki/api/type-aliases/FractionalHours.md | 13 ++ .github/wiki/api/type-aliases/MethodEntry.md | 19 ++ .github/wiki/api/type-aliases/ShafaqMode.md | 13 ++ .github/wiki/api/type-aliases/TimeString.md | 13 ++ .github/wiki/api/variables/ANGLE_MAX.md | 17 ++ .github/wiki/api/variables/ANGLE_MIN.md | 17 ++ .../api/variables/DHUHR_OFFSET_MINUTES.md | 19 ++ .github/wiki/api/variables/METHODS.md | 13 ++ package.json | 3 + pnpm-lock.yaml | 175 +++++++++++++++++- typedoc.json | 10 + 32 files changed, 1638 insertions(+), 4 deletions(-) create mode 100644 .github/wiki/api/README.md create mode 100644 .github/wiki/api/functions/calcTimes.md create mode 100644 .github/wiki/api/functions/calcTimesAll.md create mode 100644 .github/wiki/api/functions/getAngles.md create mode 100644 .github/wiki/api/functions/getAsr.md create mode 100644 .github/wiki/api/functions/getMidnight.md create mode 100644 .github/wiki/api/functions/getMscFajr.md create mode 100644 .github/wiki/api/functions/getMscIsha.md create mode 100644 .github/wiki/api/functions/getQiyam.md create mode 100644 .github/wiki/api/functions/getTimes.md create mode 100644 .github/wiki/api/functions/getTimesAll.md create mode 100644 .github/wiki/api/functions/solarEphemeris.md create mode 100644 .github/wiki/api/functions/toJulianDate.md create mode 100644 .github/wiki/api/interfaces/AtmosphericParams.md create mode 100644 .github/wiki/api/interfaces/FormattedPrayerTimes.md create mode 100644 .github/wiki/api/interfaces/FormattedPrayerTimesAll.md create mode 100644 .github/wiki/api/interfaces/MethodDefinition.md create mode 100644 .github/wiki/api/interfaces/PrayerTimes.md create mode 100644 .github/wiki/api/interfaces/PrayerTimesAll.md create mode 100644 .github/wiki/api/interfaces/TwilightAngles.md create mode 100644 .github/wiki/api/type-aliases/AsrConvention.md create mode 100644 .github/wiki/api/type-aliases/FractionalHours.md create mode 100644 .github/wiki/api/type-aliases/MethodEntry.md create mode 100644 .github/wiki/api/type-aliases/ShafaqMode.md create mode 100644 .github/wiki/api/type-aliases/TimeString.md create mode 100644 .github/wiki/api/variables/ANGLE_MAX.md create mode 100644 .github/wiki/api/variables/ANGLE_MIN.md create mode 100644 .github/wiki/api/variables/DHUHR_OFFSET_MINUTES.md create mode 100644 .github/wiki/api/variables/METHODS.md create mode 100644 typedoc.json diff --git a/.github/wiki/api/README.md b/.github/wiki/api/README.md new file mode 100644 index 0000000..fb3c23f --- /dev/null +++ b/.github/wiki/api/README.md @@ -0,0 +1,45 @@ +**pray-calc v2.1.1** + +*** + +# pray-calc v2.1.1 + +## Interfaces + +- [AtmosphericParams](interfaces/AtmosphericParams.md) +- [FormattedPrayerTimes](interfaces/FormattedPrayerTimes.md) +- [FormattedPrayerTimesAll](interfaces/FormattedPrayerTimesAll.md) +- [MethodDefinition](interfaces/MethodDefinition.md) +- [PrayerTimes](interfaces/PrayerTimes.md) +- [PrayerTimesAll](interfaces/PrayerTimesAll.md) +- [TwilightAngles](interfaces/TwilightAngles.md) + +## Type Aliases + +- [AsrConvention](type-aliases/AsrConvention.md) +- [FractionalHours](type-aliases/FractionalHours.md) +- [MethodEntry](type-aliases/MethodEntry.md) +- [ShafaqMode](type-aliases/ShafaqMode.md) +- [TimeString](type-aliases/TimeString.md) + +## Variables + +- [ANGLE\_MAX](variables/ANGLE_MAX.md) +- [ANGLE\_MIN](variables/ANGLE_MIN.md) +- [DHUHR\_OFFSET\_MINUTES](variables/DHUHR_OFFSET_MINUTES.md) +- [METHODS](variables/METHODS.md) + +## Functions + +- [calcTimes](functions/calcTimes.md) +- [calcTimesAll](functions/calcTimesAll.md) +- [getAngles](functions/getAngles.md) +- [getAsr](functions/getAsr.md) +- [getMidnight](functions/getMidnight.md) +- [getMscFajr](functions/getMscFajr.md) +- [getMscIsha](functions/getMscIsha.md) +- [getQiyam](functions/getQiyam.md) +- [getTimes](functions/getTimes.md) +- [getTimesAll](functions/getTimesAll.md) +- [solarEphemeris](functions/solarEphemeris.md) +- [toJulianDate](functions/toJulianDate.md) diff --git a/.github/wiki/api/functions/calcTimes.md b/.github/wiki/api/functions/calcTimes.md new file mode 100644 index 0000000..aea8e0e --- /dev/null +++ b/.github/wiki/api/functions/calcTimes.md @@ -0,0 +1,81 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / calcTimes + +# Function: calcTimes() + +> **calcTimes**(`date`, `lat`, `lng`, `tz?`, `elevation?`, `temperature?`, `pressure?`, `hanafi?`): [`FormattedPrayerTimes`](../interfaces/FormattedPrayerTimes.md) + +Defined in: [calcTimes.ts:30](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/calcTimes.ts#L30) + +Compute prayer times formatted as HH:MM:SS strings. + +Uses the dynamic twilight angle algorithm. See getTimes() for full parameter +documentation. + +## Parameters + +### date + +`Date` + +Observer's local date + +### lat + +`number` + +Latitude in decimal degrees (-90 to 90) + +### lng + +`number` + +Longitude in decimal degrees (-180 to 180) + +### tz? + +`number` = `...` + +UTC offset in hours (default: system timezone) + +### elevation? + +`number` = `0` + +Elevation in meters (default: 0) + +### temperature? + +`number` = `15` + +Temperature in Celsius (default: 15) + +### pressure? + +`number` = `1013.25` + +Pressure in mbar/hPa (default: 1013.25) + +### hanafi? + +`boolean` = `false` + +Hanafi Asr convention (default: false) + +## Returns + +[`FormattedPrayerTimes`](../interfaces/FormattedPrayerTimes.md) + +Prayer times as HH:MM:SS strings. Returns "N/A" for any time that + cannot be computed (polar night, unreachable angle, etc.). + +## Example + +```ts +const times = calcTimes(new Date('2024-06-21'), 40.7128, -74.006, -4); +console.log(times.Fajr); // "03:51:24" +console.log(times.Maghrib); // "20:31:17" +``` diff --git a/.github/wiki/api/functions/calcTimesAll.md b/.github/wiki/api/functions/calcTimesAll.md new file mode 100644 index 0000000..eb2ae92 --- /dev/null +++ b/.github/wiki/api/functions/calcTimesAll.md @@ -0,0 +1,81 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / calcTimesAll + +# Function: calcTimesAll() + +> **calcTimesAll**(`date`, `lat`, `lng`, `tz?`, `elevation?`, `temperature?`, `pressure?`, `hanafi?`): [`FormattedPrayerTimesAll`](../interfaces/FormattedPrayerTimesAll.md) + +Defined in: [calcTimesAll.ts:30](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/calcTimesAll.ts#L30) + +Compute prayer times formatted as HH:MM:SS strings, plus comparison times +for every supported traditional method. + +Uses the dynamic twilight angle algorithm for the primary times. See +getTimesAll() for full parameter documentation. + +## Parameters + +### date + +`Date` + +Observer's local date + +### lat + +`number` + +Latitude in decimal degrees (-90 to 90) + +### lng + +`number` + +Longitude in decimal degrees (-180 to 180) + +### tz? + +`number` = `...` + +UTC offset in hours (default: system timezone) + +### elevation? + +`number` = `0` + +Elevation in meters (default: 0) + +### temperature? + +`number` = `15` + +Temperature in Celsius (default: 15) + +### pressure? + +`number` = `1013.25` + +Pressure in mbar/hPa (default: 1013.25) + +### hanafi? + +`boolean` = `false` + +Hanafi Asr convention (default: false) + +## Returns + +[`FormattedPrayerTimesAll`](../interfaces/FormattedPrayerTimesAll.md) + +All prayer times as HH:MM:SS strings. "N/A" for unreachable events. + +## Example + +```ts +const result = calcTimesAll(new Date('2024-06-21'), 40.7128, -74.006, -4); +console.log(result.dynamic.Fajr); // "03:51:24" +console.log(result.ISNA.Fajr); // "04:07:30" +``` diff --git a/.github/wiki/api/functions/getAngles.md b/.github/wiki/api/functions/getAngles.md new file mode 100644 index 0000000..2494cfc --- /dev/null +++ b/.github/wiki/api/functions/getAngles.md @@ -0,0 +1,57 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / getAngles + +# Function: getAngles() + +> **getAngles**(`date`, `lat`, `lng`, `elevation?`, `temperature?`, `pressure?`): [`TwilightAngles`](../interfaces/TwilightAngles.md) + +Defined in: [getAngles.ts:216](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/getAngles.ts#L216) + +Compute dynamic twilight depression angles for Fajr and Isha. + +## Parameters + +### date + +`Date` + +Observer's local date (time-of-day is ignored) + +### lat + +`number` + +Latitude in decimal degrees (-90 to 90) + +### lng + +`number` + +Longitude in decimal degrees (-180 to 180, currently unused; reserved) + +### elevation? + +`number` = `0` + +Observer elevation in meters (default: 0) + +### temperature? + +`number` = `15` + +Ambient temperature in °C (default: 15) + +### pressure? + +`number` = `1013.25` + +Atmospheric pressure in mbar (default: 1013.25) + +## Returns + +[`TwilightAngles`](../interfaces/TwilightAngles.md) + +Fajr and Isha depression angles in degrees diff --git a/.github/wiki/api/functions/getAsr.md b/.github/wiki/api/functions/getAsr.md new file mode 100644 index 0000000..a33e4e8 --- /dev/null +++ b/.github/wiki/api/functions/getAsr.md @@ -0,0 +1,45 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / getAsr + +# Function: getAsr() + +> **getAsr**(`solarNoon`, `latitude`, `declination`, `hanafi?`): `number` + +Defined in: [getAsr.ts:21](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/getAsr.ts#L21) + +Compute Asr time as fractional hours. + +## Parameters + +### solarNoon + +`number` + +Solar noon in fractional hours (from getSpa) + +### latitude + +`number` + +Observer latitude in degrees + +### declination + +`number` + +Solar declination in degrees (from solarEphemeris) + +### hanafi? + +`boolean` = `false` + +true for Hanafi (shadow factor 2), false for Shafi'i (factor 1) + +## Returns + +`number` + +Fractional hours, or NaN if the sun never reaches the required altitude diff --git a/.github/wiki/api/functions/getMidnight.md b/.github/wiki/api/functions/getMidnight.md new file mode 100644 index 0000000..3fb04f9 --- /dev/null +++ b/.github/wiki/api/functions/getMidnight.md @@ -0,0 +1,33 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / getMidnight + +# Function: getMidnight() + +> **getMidnight**(`maghribTime`, `endTime`): `number` + +Defined in: [getMidnight.ts:16](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/getMidnight.ts#L16) + +Compute the midpoint of the night. + +## Parameters + +### maghribTime + +`number` + +Maghrib (sunset) time in fractional hours + +### endTime + +`number` + +Fajr or Sunrise time in fractional hours (next day) + +## Returns + +`number` + +Midnight as fractional hours diff --git a/.github/wiki/api/functions/getMscFajr.md b/.github/wiki/api/functions/getMscFajr.md new file mode 100644 index 0000000..293df20 --- /dev/null +++ b/.github/wiki/api/functions/getMscFajr.md @@ -0,0 +1,43 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / getMscFajr + +# Function: getMscFajr() + +> **getMscFajr**(`date`, `latitude`): `number` + +Defined in: [getMSC.ts:103](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/getMSC.ts#L103) + +Compute Fajr offset in minutes before sunrise using the MCW algorithm. + +Returns minutes before sunrise. At latitudes above 55°, the 1/7-night +approximation is recommended (handled at the calling site). + +## Parameters + +### date + +`Date` + +Observer's local date + +### latitude + +`number` + +Observer latitude in decimal degrees + +## Returns + +`number` + +Minutes before sunrise for Fajr (Subh Sadiq) + +## Example + +```ts +const offset = getMscFajr(new Date('2024-06-21'), 40.7128); +// offset ≈ 93 (minutes before sunrise for New York in summer) +``` diff --git a/.github/wiki/api/functions/getMscIsha.md b/.github/wiki/api/functions/getMscIsha.md new file mode 100644 index 0000000..2966116 --- /dev/null +++ b/.github/wiki/api/functions/getMscIsha.md @@ -0,0 +1,51 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / getMscIsha + +# Function: getMscIsha() + +> **getMscIsha**(`date`, `latitude`, `shafaq?`): `number` + +Defined in: [getMSC.ts:133](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/getMSC.ts#L133) + +Compute Isha offset in minutes after sunset using the MCW algorithm. + +Three Shafaq modes: +- 'general': blend that reduces hardship at high latitudes (default) +- 'ahmer': based on disappearance of redness (shafaq ahmer) +- 'abyad': based on disappearance of whiteness (shafaq abyad), later + +## Parameters + +### date + +`Date` + +Observer's local date + +### latitude + +`number` + +Observer latitude in decimal degrees + +### shafaq? + +`ShafaqMode` = `'general'` + +Twilight type: 'general' | 'ahmer' | 'abyad' + +## Returns + +`number` + +Minutes after sunset for Isha + +## Example + +```ts +const offset = getMscIsha(new Date('2024-06-21'), 40.7128, 'general'); +// offset ≈ 84 +``` diff --git a/.github/wiki/api/functions/getQiyam.md b/.github/wiki/api/functions/getQiyam.md new file mode 100644 index 0000000..7b957c4 --- /dev/null +++ b/.github/wiki/api/functions/getQiyam.md @@ -0,0 +1,33 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / getQiyam + +# Function: getQiyam() + +> **getQiyam**(`fajrTime`, `ishaTime`): `number` + +Defined in: [getQiyam.ts:16](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/getQiyam.ts#L16) + +Compute the start of the last third of the night. + +## Parameters + +### fajrTime + +`number` + +Fajr time in fractional hours + +### ishaTime + +`number` + +Isha time in fractional hours + +## Returns + +`number` + +Start of the last third of the night (fractional hours) diff --git a/.github/wiki/api/functions/getTimes.md b/.github/wiki/api/functions/getTimes.md new file mode 100644 index 0000000..e421105 --- /dev/null +++ b/.github/wiki/api/functions/getTimes.md @@ -0,0 +1,80 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / getTimes + +# Function: getTimes() + +> **getTimes**(`date`, `lat`, `lng`, `tz?`, `elevation?`, `temperature?`, `pressure?`, `hanafi?`): [`PrayerTimes`](../interfaces/PrayerTimes.md) + +Defined in: [getTimes.ts:39](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/getTimes.ts#L39) + +Compute prayer times for a given date and location. + +Uses the dynamic twilight angle algorithm to determine Fajr and Isha +depression angles, then solves for all prayer events via SPA. + +## Parameters + +### date + +`Date` + +Observer's local date (time-of-day is ignored) + +### lat + +`number` + +Latitude in decimal degrees (-90 to 90, south = negative) + +### lng + +`number` + +Longitude in decimal degrees (-180 to 180, west = negative) + +### tz? + +`number` = `...` + +UTC offset in hours (e.g. -5 for EST). Defaults to the + system timezone derived from the Date object. + +### elevation? + +`number` = `0` + +Observer elevation in meters (default: 0) + +### temperature? + +`number` = `15` + +Ambient temperature in °C (default: 15) + +### pressure? + +`number` = `1013.25` + +Atmospheric pressure in mbar/hPa (default: 1013.25) + +### hanafi? + +`boolean` = `false` + +Asr convention: false = Shafi'i/Maliki/Hanbali (default), + true = Hanafi + +## Returns + +[`PrayerTimes`](../interfaces/PrayerTimes.md) + +Prayer times as fractional hours and the dynamic angles used. + Any time that cannot be computed (e.g. polar night/day, or the + sun never reaching the required depression) is returned as `NaN`. + +## Throws + +if lat, lng, tz, or elevation are out of valid range diff --git a/.github/wiki/api/functions/getTimesAll.md b/.github/wiki/api/functions/getTimesAll.md new file mode 100644 index 0000000..14cfe11 --- /dev/null +++ b/.github/wiki/api/functions/getTimesAll.md @@ -0,0 +1,75 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / getTimesAll + +# Function: getTimesAll() + +> **getTimesAll**(`date`, `lat`, `lng`, `tz?`, `elevation?`, `temperature?`, `pressure?`, `hanafi?`): [`PrayerTimesAll`](../interfaces/PrayerTimesAll.md) + +Defined in: [getTimesAll.ts:152](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/getTimesAll.ts#L152) + +Compute prayer times plus all traditional method comparisons. + +## Parameters + +### date + +`Date` + +Observer's local date (time-of-day is ignored) + +### lat + +`number` + +Latitude in decimal degrees (-90 to 90) + +### lng + +`number` + +Longitude in decimal degrees (-180 to 180) + +### tz? + +`number` = `...` + +UTC offset in hours (defaults to system tz) + +### elevation? + +`number` = `0` + +Observer elevation in meters (default: 0) + +### temperature? + +`number` = `15` + +Ambient temperature in °C (default: 15) + +### pressure? + +`number` = `1013.25` + +Atmospheric pressure in mbar (default: 1013.25) + +### hanafi? + +`boolean` = `false` + +Asr convention: false = Shafi'i (default), true = Hanafi + +## Returns + +[`PrayerTimesAll`](../interfaces/PrayerTimesAll.md) + +Prayer times for the dynamic method plus all traditional methods. + Any time that cannot be computed is returned as `NaN`. + Methods map contains `[fajrTime, ishaTime]` per method. + +## Throws + +if lat, lng, tz, or elevation are out of valid range diff --git a/.github/wiki/api/functions/solarEphemeris.md b/.github/wiki/api/functions/solarEphemeris.md new file mode 100644 index 0000000..f9c6de6 --- /dev/null +++ b/.github/wiki/api/functions/solarEphemeris.md @@ -0,0 +1,36 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / solarEphemeris + +# Function: solarEphemeris() + +> **solarEphemeris**(`jd`): `SolarEphemeris` + +Defined in: [getSolarEphemeris.ts:46](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/getSolarEphemeris.ts#L46) + +Compute solar declination, Earth-Sun distance, and ecliptic longitude +from a Julian Date. Accuracy: ~0.01° for declination, ~0.0001 AU for r. + +## Parameters + +### jd + +`number` + +Julian Date (use toJulianDate to convert a JS Date) + +## Returns + +`SolarEphemeris` + +Solar ephemeris data: declination (degrees), Earth-Sun distance (AU), + and ecliptic longitude (radians, 0-2π season phase) + +## Example + +```ts +const jd = toJulianDate(new Date('2024-06-21')); +const { decl, r, eclLon } = solarEphemeris(jd); +``` diff --git a/.github/wiki/api/functions/toJulianDate.md b/.github/wiki/api/functions/toJulianDate.md new file mode 100644 index 0000000..0713ebe --- /dev/null +++ b/.github/wiki/api/functions/toJulianDate.md @@ -0,0 +1,34 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / toJulianDate + +# Function: toJulianDate() + +> **toJulianDate**(`date`): `number` + +Defined in: [getSolarEphemeris.ts:22](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/getSolarEphemeris.ts#L22) + +Convert a JavaScript Date to a Julian Date number. + +## Parameters + +### date + +`Date` + +Any JavaScript Date object (uses UTC internally) + +## Returns + +`number` + +Julian Date: days since noon January 1, 4713 BC UTC + +## Example + +```ts +const jd = toJulianDate(new Date('2024-06-21')); +// jd ≈ 2460482.5 +``` diff --git a/.github/wiki/api/interfaces/AtmosphericParams.md b/.github/wiki/api/interfaces/AtmosphericParams.md new file mode 100644 index 0000000..2eb53d9 --- /dev/null +++ b/.github/wiki/api/interfaces/AtmosphericParams.md @@ -0,0 +1,35 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / AtmosphericParams + +# Interface: AtmosphericParams + +Defined in: [types.ts:97](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L97) + +Optional atmospheric and elevation parameters. + +## Properties + +### elevation? + +> `optional` **elevation?**: `number` + +Defined in: [types.ts:98](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L98) + +*** + +### pressure? + +> `optional` **pressure?**: `number` + +Defined in: [types.ts:100](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L100) + +*** + +### temperature? + +> `optional` **temperature?**: `number` + +Defined in: [types.ts:99](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L99) diff --git a/.github/wiki/api/interfaces/FormattedPrayerTimes.md b/.github/wiki/api/interfaces/FormattedPrayerTimes.md new file mode 100644 index 0000000..1e96459 --- /dev/null +++ b/.github/wiki/api/interfaces/FormattedPrayerTimes.md @@ -0,0 +1,91 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / FormattedPrayerTimes + +# Interface: FormattedPrayerTimes + +Defined in: [types.ts:50](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L50) + +Prayer times formatted as HH:MM:SS strings. + +## Properties + +### angles + +> **angles**: [`TwilightAngles`](TwilightAngles.md) + +Defined in: [types.ts:60](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L60) + +*** + +### Asr + +> **Asr**: `string` + +Defined in: [types.ts:56](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L56) + +*** + +### Dhuhr + +> **Dhuhr**: `string` + +Defined in: [types.ts:55](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L55) + +*** + +### Fajr + +> **Fajr**: `string` + +Defined in: [types.ts:52](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L52) + +*** + +### Isha + +> **Isha**: `string` + +Defined in: [types.ts:58](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L58) + +*** + +### Maghrib + +> **Maghrib**: `string` + +Defined in: [types.ts:57](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L57) + +*** + +### Midnight + +> **Midnight**: `string` + +Defined in: [types.ts:59](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L59) + +*** + +### Noon + +> **Noon**: `string` + +Defined in: [types.ts:54](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L54) + +*** + +### Qiyam + +> **Qiyam**: `string` + +Defined in: [types.ts:51](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L51) + +*** + +### Sunrise + +> **Sunrise**: `string` + +Defined in: [types.ts:53](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L53) diff --git a/.github/wiki/api/interfaces/FormattedPrayerTimesAll.md b/.github/wiki/api/interfaces/FormattedPrayerTimesAll.md new file mode 100644 index 0000000..87b45c2 --- /dev/null +++ b/.github/wiki/api/interfaces/FormattedPrayerTimesAll.md @@ -0,0 +1,101 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / FormattedPrayerTimesAll + +# Interface: FormattedPrayerTimesAll + +Defined in: [types.ts:81](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L81) + +Prayer times plus all method comparison times, fully formatted. + +## Properties + +### angles + +> **angles**: [`TwilightAngles`](TwilightAngles.md) + +Defined in: [types.ts:91](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L91) + +*** + +### Asr + +> **Asr**: `string` + +Defined in: [types.ts:87](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L87) + +*** + +### Dhuhr + +> **Dhuhr**: `string` + +Defined in: [types.ts:86](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L86) + +*** + +### Fajr + +> **Fajr**: `string` + +Defined in: [types.ts:83](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L83) + +*** + +### Isha + +> **Isha**: `string` + +Defined in: [types.ts:89](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L89) + +*** + +### Maghrib + +> **Maghrib**: `string` + +Defined in: [types.ts:88](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L88) + +*** + +### Methods + +> **Methods**: `Record`\<`string`, \[[`TimeString`](../type-aliases/TimeString.md), [`TimeString`](../type-aliases/TimeString.md)\]\> + +Defined in: [types.ts:93](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L93) + +Formatted comparison times for each method: [fajrString, ishaString]. + +*** + +### Midnight + +> **Midnight**: `string` + +Defined in: [types.ts:90](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L90) + +*** + +### Noon + +> **Noon**: `string` + +Defined in: [types.ts:85](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L85) + +*** + +### Qiyam + +> **Qiyam**: `string` + +Defined in: [types.ts:82](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L82) + +*** + +### Sunrise + +> **Sunrise**: `string` + +Defined in: [types.ts:84](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L84) diff --git a/.github/wiki/api/interfaces/MethodDefinition.md b/.github/wiki/api/interfaces/MethodDefinition.md new file mode 100644 index 0000000..d8a7e36 --- /dev/null +++ b/.github/wiki/api/interfaces/MethodDefinition.md @@ -0,0 +1,85 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / MethodDefinition + +# Interface: MethodDefinition + +Defined in: [types.ts:104](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L104) + +Internal record for a single traditional method definition. + +## Properties + +### fajrAngle + +> **fajrAngle**: `number` \| `null` + +Defined in: [types.ts:115](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L115) + +Fajr depression angle in degrees. Null means the method uses a +seasonal calculation (MSC) rather than a fixed angle. + +*** + +### id + +> **id**: `string` + +Defined in: [types.ts:106](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L106) + +Short identifier used as the Methods map key. + +*** + +### ishaAngle + +> **ishaAngle**: `number` \| `null` + +Defined in: [types.ts:120](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L120) + +Isha depression angle in degrees. Null means the method uses a +fixed-minute offset or seasonal calculation instead. + +*** + +### ishaMinutes? + +> `optional` **ishaMinutes?**: `number` + +Defined in: [types.ts:125](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L125) + +Fixed minutes after sunset for Isha. Overrides ishaAngle when set. +UAQ uses 90 year-round; Qatar uses 90 as well. + +*** + +### name + +> **name**: `string` + +Defined in: [types.ts:108](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L108) + +Human-readable name. + +*** + +### region + +> **region**: `string` + +Defined in: [types.ts:110](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L110) + +Geographic region of primary use. + +*** + +### useMSC? + +> `optional` **useMSC?**: `boolean` + +Defined in: [types.ts:130](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L130) + +When true, the method uses the MSC seasonal algorithm for both +Fajr and Isha. diff --git a/.github/wiki/api/interfaces/PrayerTimes.md b/.github/wiki/api/interfaces/PrayerTimes.md new file mode 100644 index 0000000..bbe7508 --- /dev/null +++ b/.github/wiki/api/interfaces/PrayerTimes.md @@ -0,0 +1,115 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / PrayerTimes + +# Interface: PrayerTimes + +Defined in: [types.ts:26](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L26) + +Raw prayer times as fractional hours. + +## Extended by + +- [`PrayerTimesAll`](PrayerTimesAll.md) + +## Properties + +### angles + +> **angles**: [`TwilightAngles`](TwilightAngles.md) + +Defined in: [types.ts:46](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L46) + +Dynamic twilight angles used for this calculation. + +*** + +### Asr + +> **Asr**: `number` + +Defined in: [types.ts:38](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L38) + +Asr (Shafi'i or Hanafi shadow convention). + +*** + +### Dhuhr + +> **Dhuhr**: `number` + +Defined in: [types.ts:36](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L36) + +Dhuhr (2.5 minutes after solar noon). + +*** + +### Fajr + +> **Fajr**: `number` + +Defined in: [types.ts:30](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L30) + +True dawn (Subh Sadiq). + +*** + +### Isha + +> **Isha**: `number` + +Defined in: [types.ts:42](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L42) + +Isha (nightfall, end of shafaq). + +*** + +### Maghrib + +> **Maghrib**: `number` + +Defined in: [types.ts:40](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L40) + +Maghrib (sunset). + +*** + +### Midnight + +> **Midnight**: `number` + +Defined in: [types.ts:44](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L44) + +Midnight: midpoint between Maghrib and Fajr. + +*** + +### Noon + +> **Noon**: `number` + +Defined in: [types.ts:34](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L34) + +Solar noon (exact geometric transit). + +*** + +### Qiyam + +> **Qiyam**: `number` + +Defined in: [types.ts:28](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L28) + +Start of the last third of the night (Qiyam al-Layl). + +*** + +### Sunrise + +> **Sunrise**: `number` + +Defined in: [types.ts:32](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L32) + +Astronomical sunrise. diff --git a/.github/wiki/api/interfaces/PrayerTimesAll.md b/.github/wiki/api/interfaces/PrayerTimesAll.md new file mode 100644 index 0000000..5f64e7b --- /dev/null +++ b/.github/wiki/api/interfaces/PrayerTimesAll.md @@ -0,0 +1,165 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / PrayerTimesAll + +# Interface: PrayerTimesAll + +Defined in: [types.ts:75](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L75) + +Prayer times plus all method comparison times as fractional hours. + +## Extends + +- [`PrayerTimes`](PrayerTimes.md) + +## Properties + +### angles + +> **angles**: [`TwilightAngles`](TwilightAngles.md) + +Defined in: [types.ts:46](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L46) + +Dynamic twilight angles used for this calculation. + +#### Inherited from + +[`PrayerTimes`](PrayerTimes.md).[`angles`](PrayerTimes.md#angles) + +*** + +### Asr + +> **Asr**: `number` + +Defined in: [types.ts:38](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L38) + +Asr (Shafi'i or Hanafi shadow convention). + +#### Inherited from + +[`PrayerTimes`](PrayerTimes.md).[`Asr`](PrayerTimes.md#asr) + +*** + +### Dhuhr + +> **Dhuhr**: `number` + +Defined in: [types.ts:36](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L36) + +Dhuhr (2.5 minutes after solar noon). + +#### Inherited from + +[`PrayerTimes`](PrayerTimes.md).[`Dhuhr`](PrayerTimes.md#dhuhr) + +*** + +### Fajr + +> **Fajr**: `number` + +Defined in: [types.ts:30](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L30) + +True dawn (Subh Sadiq). + +#### Inherited from + +[`PrayerTimes`](PrayerTimes.md).[`Fajr`](PrayerTimes.md#fajr) + +*** + +### Isha + +> **Isha**: `number` + +Defined in: [types.ts:42](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L42) + +Isha (nightfall, end of shafaq). + +#### Inherited from + +[`PrayerTimes`](PrayerTimes.md).[`Isha`](PrayerTimes.md#isha) + +*** + +### Maghrib + +> **Maghrib**: `number` + +Defined in: [types.ts:40](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L40) + +Maghrib (sunset). + +#### Inherited from + +[`PrayerTimes`](PrayerTimes.md).[`Maghrib`](PrayerTimes.md#maghrib) + +*** + +### Methods + +> **Methods**: `Record`\<`string`, [`MethodEntry`](../type-aliases/MethodEntry.md)\> + +Defined in: [types.ts:77](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L77) + +Comparison results from all supported fixed-angle and seasonal methods. + +*** + +### Midnight + +> **Midnight**: `number` + +Defined in: [types.ts:44](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L44) + +Midnight: midpoint between Maghrib and Fajr. + +#### Inherited from + +[`PrayerTimes`](PrayerTimes.md).[`Midnight`](PrayerTimes.md#midnight) + +*** + +### Noon + +> **Noon**: `number` + +Defined in: [types.ts:34](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L34) + +Solar noon (exact geometric transit). + +#### Inherited from + +[`PrayerTimes`](PrayerTimes.md).[`Noon`](PrayerTimes.md#noon) + +*** + +### Qiyam + +> **Qiyam**: `number` + +Defined in: [types.ts:28](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L28) + +Start of the last third of the night (Qiyam al-Layl). + +#### Inherited from + +[`PrayerTimes`](PrayerTimes.md).[`Qiyam`](PrayerTimes.md#qiyam) + +*** + +### Sunrise + +> **Sunrise**: `number` + +Defined in: [types.ts:32](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L32) + +Astronomical sunrise. + +#### Inherited from + +[`PrayerTimes`](PrayerTimes.md).[`Sunrise`](PrayerTimes.md#sunrise) diff --git a/.github/wiki/api/interfaces/TwilightAngles.md b/.github/wiki/api/interfaces/TwilightAngles.md new file mode 100644 index 0000000..19ab79b --- /dev/null +++ b/.github/wiki/api/interfaces/TwilightAngles.md @@ -0,0 +1,31 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / TwilightAngles + +# Interface: TwilightAngles + +Defined in: [types.ts:18](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L18) + +Computed twilight depression angles for Fajr and Isha. + +## Properties + +### fajrAngle + +> **fajrAngle**: `number` + +Defined in: [types.ts:20](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L20) + +Solar depression angle for Fajr (positive degrees below horizon). + +*** + +### ishaAngle + +> **ishaAngle**: `number` + +Defined in: [types.ts:22](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L22) + +Solar depression angle for Isha (positive degrees below horizon). diff --git a/.github/wiki/api/type-aliases/AsrConvention.md b/.github/wiki/api/type-aliases/AsrConvention.md new file mode 100644 index 0000000..b7beceb --- /dev/null +++ b/.github/wiki/api/type-aliases/AsrConvention.md @@ -0,0 +1,13 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / AsrConvention + +# Type Alias: AsrConvention + +> **AsrConvention** = `"shafii"` \| `"hanafi"` + +Defined in: [types.ts:12](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L12) + +Asr shadow convention: Shafi'i (shadow = 1x object length) or Hanafi (2x). diff --git a/.github/wiki/api/type-aliases/FractionalHours.md b/.github/wiki/api/type-aliases/FractionalHours.md new file mode 100644 index 0000000..74ad869 --- /dev/null +++ b/.github/wiki/api/type-aliases/FractionalHours.md @@ -0,0 +1,13 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / FractionalHours + +# Type Alias: FractionalHours + +> **FractionalHours** = `number` + +Defined in: [types.ts:6](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L6) + +Fractional hours (e.g. 5.5 = 05:30:00). NaN indicates an unreachable event. diff --git a/.github/wiki/api/type-aliases/MethodEntry.md b/.github/wiki/api/type-aliases/MethodEntry.md new file mode 100644 index 0000000..e38eb74 --- /dev/null +++ b/.github/wiki/api/type-aliases/MethodEntry.md @@ -0,0 +1,19 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / MethodEntry + +# Type Alias: MethodEntry + +> **MethodEntry** = \[[`FractionalHours`](FractionalHours.md), [`FractionalHours`](FractionalHours.md)\] + +Defined in: [types.ts:72](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L72) + +Method entry in the Methods map: `[fajrTime, ishaTime]` as fractional hours. + +- Index 0 (`fajr`): Fajr time for this method (fractional hours, or `NaN`) +- Index 1 (`isha`): Isha time for this method (fractional hours, or `NaN`) + +A value of `NaN` indicates the event is unreachable at this location/date +(e.g. the sun never dips to 18° below the horizon at high latitudes in summer). diff --git a/.github/wiki/api/type-aliases/ShafaqMode.md b/.github/wiki/api/type-aliases/ShafaqMode.md new file mode 100644 index 0000000..b8fcfea --- /dev/null +++ b/.github/wiki/api/type-aliases/ShafaqMode.md @@ -0,0 +1,13 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / ShafaqMode + +# Type Alias: ShafaqMode + +> **ShafaqMode** = `"general"` \| `"ahmer"` \| `"abyad"` + +Defined in: [types.ts:15](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L15) + +Shafaq (twilight glow) variant for the MSC Isha model. diff --git a/.github/wiki/api/type-aliases/TimeString.md b/.github/wiki/api/type-aliases/TimeString.md new file mode 100644 index 0000000..35ab8d3 --- /dev/null +++ b/.github/wiki/api/type-aliases/TimeString.md @@ -0,0 +1,13 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / TimeString + +# Type Alias: TimeString + +> **TimeString** = `string` + +Defined in: [types.ts:9](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/types.ts#L9) + +HH:MM:SS string produced by formatTime, or "N/A" when unreachable. diff --git a/.github/wiki/api/variables/ANGLE_MAX.md b/.github/wiki/api/variables/ANGLE_MAX.md new file mode 100644 index 0000000..83cf78b --- /dev/null +++ b/.github/wiki/api/variables/ANGLE_MAX.md @@ -0,0 +1,17 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / ANGLE\_MAX + +# Variable: ANGLE\_MAX + +> `const` **ANGLE\_MAX**: `22` = `22` + +Defined in: [constants.ts:35](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/constants.ts#L35) + +Maximum allowed dynamic twilight depression angle (degrees). + +22° is the upper clamp. Values above ~20° correspond to deep +astronomical twilight where the sky is indistinguishable from full +night. No standard method exceeds 20° for Fajr. diff --git a/.github/wiki/api/variables/ANGLE_MIN.md b/.github/wiki/api/variables/ANGLE_MIN.md new file mode 100644 index 0000000..87377e6 --- /dev/null +++ b/.github/wiki/api/variables/ANGLE_MIN.md @@ -0,0 +1,17 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / ANGLE\_MIN + +# Variable: ANGLE\_MIN + +> `const` **ANGLE\_MIN**: `10` = `10` + +Defined in: [constants.ts:26](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/constants.ts#L26) + +Minimum allowed dynamic twilight depression angle (degrees). + +At very high latitudes in summer the MCW base angle can drop below +physically meaningful values. 10° is the lower clamp — below this +the sky is too bright for any twilight definition. diff --git a/.github/wiki/api/variables/DHUHR_OFFSET_MINUTES.md b/.github/wiki/api/variables/DHUHR_OFFSET_MINUTES.md new file mode 100644 index 0000000..c571a35 --- /dev/null +++ b/.github/wiki/api/variables/DHUHR_OFFSET_MINUTES.md @@ -0,0 +1,19 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / DHUHR\_OFFSET\_MINUTES + +# Variable: DHUHR\_OFFSET\_MINUTES + +> `const` **DHUHR\_OFFSET\_MINUTES**: `2.5` = `2.5` + +Defined in: [constants.ts:17](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/constants.ts#L17) + +Minutes added to solar noon to obtain Dhuhr time. + +Standard practice adds a small buffer after geometric solar transit to +ensure the sun has clearly passed the meridian before Dhuhr begins. +The 2.5-minute convention is widely used across Islamic timekeeping +authorities and accounts for the sun's angular diameter (~0.5°) plus +a small safety margin. diff --git a/.github/wiki/api/variables/METHODS.md b/.github/wiki/api/variables/METHODS.md new file mode 100644 index 0000000..3aa7027 --- /dev/null +++ b/.github/wiki/api/variables/METHODS.md @@ -0,0 +1,13 @@ +[**pray-calc v2.1.1**](../README.md) + +*** + +[pray-calc](../README.md) / METHODS + +# Variable: METHODS + +> `const` **METHODS**: [`MethodDefinition`](../interfaces/MethodDefinition.md)[] + +Defined in: [getTimesAll.ts:38](https://github.com/acamarata/pray-calc/blob/af34aef986c37d8de9cf8db0744a41e3b0c99c40/src/getTimesAll.ts#L38) + +All supported traditional methods. diff --git a/package.json b/package.json index 6416ff6..42b71d2 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "format:check": "prettier --check src/", "prepublishOnly": "tsup", "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": [ @@ -82,6 +83,8 @@ "eslint-config-prettier": "^10.1.8", "prettier": "^3.8.1", "tsup": "^8.5.1", + "typedoc": "^0.28.19", + "typedoc-plugin-markdown": "^4.11.0", "typescript": "^5.9.3", "typescript-eslint": "^8.56.1" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 44f64e4..b91e8bd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,7 +41,13 @@ importers: version: 3.8.1 tsup: specifier: ^8.5.1 - version: 8.5.1(typescript@5.9.3) + version: 8.5.1(typescript@5.9.3)(yaml@2.9.0) + 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.9.3 version: 5.9.3 @@ -276,6 +282,9 @@ packages: resolution: {integrity: sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@gerrit0/mini-shiki@3.23.0': + resolution: {integrity: sha512-bEMORlG0cqdjVyCEuU0cDQbORWX+kYCeo0kV1lbxF5bt4r7SID2l9bqsxJEM0zndaxpOUT7riCyIVEuqq/Ynxg==} + '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -442,12 +451,30 @@ packages: cpu: [x64] os: [win32] + '@shikijs/engine-oniguruma@3.23.0': + resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==} + + '@shikijs/langs@3.23.0': + resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==} + + '@shikijs/themes@3.23.0': + resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==} + + '@shikijs/types@3.23.0': + resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==} + + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + '@types/esrecurse@4.3.1': resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@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==} @@ -457,6 +484,9 @@ packages: '@types/node@25.3.0': resolution: {integrity: sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==} + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + '@typescript-eslint/eslint-plugin@8.56.1': resolution: {integrity: sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -548,6 +578,9 @@ packages: 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==} @@ -562,6 +595,10 @@ packages: resolution: {integrity: sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==} engines: {node: 18 || 20 || >=22} + brace-expansion@5.0.6: + resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} + engines: {node: 18 || 20 || >=22} + bundle-require@5.1.0: resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -636,6 +673,10 @@ packages: 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'} + esbuild@0.27.3: resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} engines: {node: '>=18'} @@ -831,6 +872,9 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + linkify-it@5.0.1: + resolution: {integrity: sha512-wVoTjP4Q6R0NW5hiZkVJaFZPWgtXfoGF+6LucL3/FtiNjmcHhYjEr5f1Kqjirc1nBW07J/ZuRFumqr2oqccEWg==} + load-tsconfig@0.2.5: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -842,6 +886,9 @@ packages: 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==} @@ -849,10 +896,21 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} + markdown-it@14.2.0: + resolution: {integrity: sha512-1TGiQiJVRQ3NPmZH6sx5Cfnmg6GQm9jvC1ch4TK511NjSJvjzKLzn5pPfZRNZkRPZP0HqCioSndqH8v2nRaWVQ==} + hasBin: true + + mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + minimatch@10.2.4: resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} engines: {node: 18 || 20 || >=22} + minimatch@10.2.5: + 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'} @@ -952,6 +1010,10 @@ packages: engines: {node: '>=14'} hasBin: true + punycode.js@2.3.1: + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -1073,6 +1135,19 @@ 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'} + hasBin: true + peerDependencies: + typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x || 6.0.x + typescript-eslint@8.56.1: resolution: {integrity: sha512-U4lM6pjmBX7J5wk4szltF7I1cGBHXZopnAXCMXb3+fZ3B/0Z3hq3wS/CCUB2NZBNAExK92mCU2tEohWuwVMsDQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1085,6 +1160,9 @@ packages: engines: {node: '>=14.17'} hasBin: true + uc.micro@2.1.0: + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} + ufo@1.6.3: resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} @@ -1119,6 +1197,11 @@ packages: 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'} @@ -1260,6 +1343,14 @@ snapshots: '@eslint/core': 1.1.1 levn: 0.4.1 + '@gerrit0/mini-shiki@3.23.0': + dependencies: + '@shikijs/engine-oniguruma': 3.23.0 + '@shikijs/langs': 3.23.0 + '@shikijs/themes': 3.23.0 + '@shikijs/types': 3.23.0 + '@shikijs/vscode-textmate': 10.0.2 + '@humanfs/core@0.19.1': {} '@humanfs/node@0.16.7': @@ -1374,10 +1465,34 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.59.0': optional: true + '@shikijs/engine-oniguruma@3.23.0': + dependencies: + '@shikijs/types': 3.23.0 + '@shikijs/vscode-textmate': 10.0.2 + + '@shikijs/langs@3.23.0': + dependencies: + '@shikijs/types': 3.23.0 + + '@shikijs/themes@3.23.0': + dependencies: + '@shikijs/types': 3.23.0 + + '@shikijs/types@3.23.0': + dependencies: + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + + '@shikijs/vscode-textmate@10.0.2': {} + '@types/esrecurse@4.3.1': {} '@types/estree@1.0.8': {} + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.3 + '@types/istanbul-lib-coverage@2.0.6': {} '@types/json-schema@7.0.15': {} @@ -1386,6 +1501,8 @@ snapshots: dependencies: undici-types: 7.18.2 + '@types/unist@3.0.3': {} + '@typescript-eslint/eslint-plugin@8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.3)(typescript@5.9.3))(eslint@10.0.3)(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 @@ -1502,6 +1619,8 @@ snapshots: any-promise@1.3.0: {} + argparse@2.0.1: {} + balanced-match@1.0.2: {} balanced-match@4.0.4: {} @@ -1514,6 +1633,10 @@ snapshots: dependencies: balanced-match: 4.0.4 + brace-expansion@5.0.6: + dependencies: + balanced-match: 4.0.4 + bundle-require@5.1.0(esbuild@0.27.3): dependencies: esbuild: 0.27.3 @@ -1577,6 +1700,8 @@ snapshots: emoji-regex@9.2.2: {} + entities@4.5.0: {} + esbuild@0.27.3: optionalDependencies: '@esbuild/aix-ppc64': 0.27.3 @@ -1793,6 +1918,10 @@ snapshots: lines-and-columns@1.2.4: {} + linkify-it@5.0.1: + dependencies: + uc.micro: 2.1.0 + load-tsconfig@0.2.5: {} locate-path@6.0.0: @@ -1801,6 +1930,8 @@ snapshots: lru-cache@10.4.3: {} + lunr@2.3.9: {} + magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -1809,10 +1940,25 @@ snapshots: dependencies: semver: 7.7.4 + markdown-it@14.2.0: + dependencies: + argparse: 2.0.1 + entities: 4.5.0 + linkify-it: 5.0.1 + mdurl: 2.0.0 + punycode.js: 2.3.1 + uc.micro: 2.1.0 + + mdurl@2.0.0: {} + minimatch@10.2.4: dependencies: brace-expansion: 5.0.4 + minimatch@10.2.5: + dependencies: + brace-expansion: 5.0.6 + minimatch@9.0.9: dependencies: brace-expansion: 2.1.1 @@ -1882,14 +2028,18 @@ snapshots: mlly: 1.8.0 pathe: 2.0.3 - postcss-load-config@6.0.1: + postcss-load-config@6.0.1(yaml@2.9.0): dependencies: lilconfig: 3.1.3 + optionalDependencies: + yaml: 2.9.0 prelude-ls@1.2.1: {} prettier@3.8.1: {} + punycode.js@2.3.1: {} + punycode@2.3.1: {} readdirp@4.1.2: {} @@ -2004,7 +2154,7 @@ snapshots: ts-interface-checker@0.1.13: {} - tsup@8.5.1(typescript@5.9.3): + tsup@8.5.1(typescript@5.9.3)(yaml@2.9.0): dependencies: bundle-require: 5.1.0(esbuild@0.27.3) cac: 6.7.14 @@ -2015,7 +2165,7 @@ snapshots: fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1 + postcss-load-config: 6.0.1(yaml@2.9.0) resolve-from: 5.0.0 rollup: 4.59.0 source-map: 0.7.6 @@ -2035,6 +2185,19 @@ 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 + lunr: 2.3.9 + markdown-it: 14.2.0 + minimatch: 10.2.5 + typescript: 5.9.3 + yaml: 2.9.0 + typescript-eslint@8.56.1(eslint@10.0.3)(typescript@5.9.3): dependencies: '@typescript-eslint/eslint-plugin': 8.56.1(@typescript-eslint/parser@8.56.1(eslint@10.0.3)(typescript@5.9.3))(eslint@10.0.3)(typescript@5.9.3) @@ -2048,6 +2211,8 @@ snapshots: typescript@5.9.3: {} + uc.micro@2.1.0: {} + ufo@1.6.3: {} undici-types@7.18.2: {} @@ -2082,6 +2247,8 @@ snapshots: y18n@5.0.8: {} + yaml@2.9.0: {} + yargs-parser@21.1.1: {} yargs@17.7.2: diff --git a/typedoc.json b/typedoc.json new file mode 100644 index 0000000..245b17f --- /dev/null +++ b/typedoc.json @@ -0,0 +1,10 @@ +{ + "entryPoints": ["src/index.ts"], + "out": ".github/wiki/api", + "plugin": ["typedoc-plugin-markdown"], + "readme": "none", + "skipErrorChecking": false, + "excludePrivate": true, + "excludeProtected": true, + "includeVersion": true +}