From 3c848806ab852464d76baf7e3fc0ca58f5e42fd9 Mon Sep 17 00:00:00 2001 From: Aric Camarata Date: Sat, 30 May 2026 16:41:57 -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 | 35 ++ .github/wiki/api/functions/formatTime.md | 40 ++ .github/wiki/api/functions/init.md | 32 + .github/wiki/api/functions/spa.md | 72 +++ .github/wiki/api/functions/spaFormatted.md | 72 +++ .../wiki/api/interfaces/SpaFormattedResult.md | 141 +++++ .github/wiki/api/interfaces/SpaOptions.md | 110 ++++ .github/wiki/api/interfaces/SpaResult.md | 109 ++++ .../wiki/api/type-aliases/SpaFunctionCode.md | 11 + .github/wiki/api/variables/SPA_ALL.md | 13 + .github/wiki/api/variables/SPA_ZA.md | 13 + .github/wiki/api/variables/SPA_ZA_INC.md | 13 + .github/wiki/api/variables/SPA_ZA_RTS.md | 13 + package.json | 7 +- pnpm-lock.yaml | 569 +++++++++++++++++- typedoc.json | 10 + 16 files changed, 1255 insertions(+), 5 deletions(-) create mode 100644 .github/wiki/api/README.md create mode 100644 .github/wiki/api/functions/formatTime.md create mode 100644 .github/wiki/api/functions/init.md create mode 100644 .github/wiki/api/functions/spa.md create mode 100644 .github/wiki/api/functions/spaFormatted.md create mode 100644 .github/wiki/api/interfaces/SpaFormattedResult.md create mode 100644 .github/wiki/api/interfaces/SpaOptions.md create mode 100644 .github/wiki/api/interfaces/SpaResult.md create mode 100644 .github/wiki/api/type-aliases/SpaFunctionCode.md create mode 100644 .github/wiki/api/variables/SPA_ALL.md create mode 100644 .github/wiki/api/variables/SPA_ZA.md create mode 100644 .github/wiki/api/variables/SPA_ZA_INC.md create mode 100644 .github/wiki/api/variables/SPA_ZA_RTS.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..e3b94e6 --- /dev/null +++ b/.github/wiki/api/README.md @@ -0,0 +1,35 @@ +**solar-spa v2.0.1** + +*** + +# solar-spa v2.0.1 + +## Interfaces + +- [SpaFormattedResult](interfaces/SpaFormattedResult.md) +- [SpaOptions](interfaces/SpaOptions.md) +- [SpaResult](interfaces/SpaResult.md) + +## Type Aliases + +- [SpaFunctionCode](type-aliases/SpaFunctionCode.md) + +## Variables + +- [SPA\_ALL](variables/SPA_ALL.md) +- [SPA\_ZA](variables/SPA_ZA.md) +- [SPA\_ZA\_INC](variables/SPA_ZA_INC.md) +- [SPA\_ZA\_RTS](variables/SPA_ZA_RTS.md) + +## Functions + +- [formatTime](functions/formatTime.md) +- [init](functions/init.md) +- [spa](functions/spa.md) +- [spaFormatted](functions/spaFormatted.md) + +## References + +### default + +Renames and re-exports [spa](functions/spa.md) diff --git a/.github/wiki/api/functions/formatTime.md b/.github/wiki/api/functions/formatTime.md new file mode 100644 index 0000000..ae400a9 --- /dev/null +++ b/.github/wiki/api/functions/formatTime.md @@ -0,0 +1,40 @@ +[**solar-spa v2.0.1**](../README.md) + +*** + +[solar-spa](../README.md) / formatTime + +# Function: formatTime() + +> **formatTime**(`hours`): `string` + +Defined in: [index.ts:113](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/index.ts#L113) + +Purpose: Convert fractional hours to an HH:MM:SS string. +Inputs: hours, fractional hours (e.g. 6.5 for "06:30:00"); values ≥24 wrap +Outputs: "HH:MM:SS" string, or "N/A" for non-finite/negative inputs +Constraints: Non-finite and negative values occur during polar day/night; + returning "N/A" lets callers display a sensible label without special-casing. +SPORT: packages.md → solar-spa row + +## Parameters + +### hours + +`number` + +Fractional hours (e.g. 6.5 for 06:30:00). Values >= 24 wrap. + +## Returns + +`string` + +Formatted time string in HH:MM:SS, or "N/A" for invalid input. + +## Example + +```ts +formatTime(6.5) // "06:30:00" +formatTime(12) // "12:00:00" +formatTime(Infinity) // "N/A" +``` diff --git a/.github/wiki/api/functions/init.md b/.github/wiki/api/functions/init.md new file mode 100644 index 0000000..d8faa48 --- /dev/null +++ b/.github/wiki/api/functions/init.md @@ -0,0 +1,32 @@ +[**solar-spa v2.0.1**](../README.md) + +*** + +[solar-spa](../README.md) / init + +# Function: init() + +> **init**(): `Promise`\<`void`\> + +Defined in: [index.ts:60](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/index.ts#L60) + +Purpose: Pre-initialize the WASM module before the first spa() call. +Inputs: none +Outputs: Promise; resolves when the module is ready +Constraints: Safe to call multiple times; subsequent calls return immediately. + If init() fails, the next call retries (failed promise is discarded). +SPORT: packages.md → solar-spa row + +## Returns + +`Promise`\<`void`\> + +Promise that resolves when the WASM module is initialized. + +## Example + +```ts +import { init, spa } from 'solar-spa'; +await init(); // pay WASM startup cost at app boot +const result = await spa(new Date(), 40.7128, -74.0060); // no init overhead +``` diff --git a/.github/wiki/api/functions/spa.md b/.github/wiki/api/functions/spa.md new file mode 100644 index 0000000..efc4414 --- /dev/null +++ b/.github/wiki/api/functions/spa.md @@ -0,0 +1,72 @@ +[**solar-spa v2.0.1**](../README.md) + +*** + +[solar-spa](../README.md) / spa + +# Function: spa() + +> **spa**(`date`, `latitude`, `longitude`, `options?`): `Promise`\<[`SpaResult`](../interfaces/SpaResult.md)\> + +Defined in: [index.ts:204](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/index.ts#L204) + +Purpose: Compute solar position using the NREL SPA algorithm via WASM. +Inputs: date, latitude (-90..90), longitude (-180..180), optional SpaOptions +Outputs: Promise with zenith, azimuth, incidence, sunrise/sunset/transit, eot +Constraints: WASM module is a singleton; first call incurs ~3-5 ms init cost. + Pass explicit timezone for server-side code (system may be UTC, not local). + Input validation runs before WASM call; invalid inputs throw before allocating. +SPORT: packages.md → solar-spa row + +## Parameters + +### date + +`Date` + +Date and time for the calculation + +### latitude + +`number` + +Observer latitude in degrees (-90 to 90) + +### longitude + +`number` + +Observer longitude in degrees (-180 to 180) + +### options? + +[`SpaOptions`](../interfaces/SpaOptions.md) + +Optional observer and algorithm parameters (timezone, elevation, etc.) + +## Returns + +`Promise`\<[`SpaResult`](../interfaces/SpaResult.md)\> + +Solar position result with all computed values + +## Throws + +If date is not a valid Date, or if latitude/longitude/option fields are not numbers + +## Throws + +If latitude/longitude are out of bounds, or if option fields are Infinity/NaN + +## Throws + +If WASM memory allocation fails or SPA returns a non-zero error code + +## Example + +```ts +import { spa } from 'solar-spa'; +const result = await spa(new Date('2025-06-21T12:00:00Z'), 40.7128, -74.006, { timezone: -4 }); +console.log(result.zenith); // ~27 degrees +console.log(result.sunrise); // ~5.4 fractional hours +``` diff --git a/.github/wiki/api/functions/spaFormatted.md b/.github/wiki/api/functions/spaFormatted.md new file mode 100644 index 0000000..37419ee --- /dev/null +++ b/.github/wiki/api/functions/spaFormatted.md @@ -0,0 +1,72 @@ +[**solar-spa v2.0.1**](../README.md) + +*** + +[solar-spa](../README.md) / spaFormatted + +# Function: spaFormatted() + +> **spaFormatted**(`date`, `latitude`, `longitude`, `options?`): `Promise`\<[`SpaFormattedResult`](../interfaces/SpaFormattedResult.md)\> + +Defined in: [index.ts:290](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/index.ts#L290) + +Purpose: Compute solar position with time fields formatted as HH:MM:SS strings. +Inputs: same as spa(): date, latitude, longitude, options +Outputs: Promise; sunrise/sunset/suntransit are strings, all other fields numbers +Constraints: Delegates to spa() internally; throws under the same conditions. + "N/A" is returned for sunrise/sunset/suntransit during polar day or polar night. +SPORT: packages.md → solar-spa row + +## Parameters + +### date + +`Date` + +Date and time for the calculation + +### latitude + +`number` + +Observer latitude in degrees (-90 to 90) + +### longitude + +`number` + +Observer longitude in degrees (-180 to 180) + +### options? + +[`SpaOptions`](../interfaces/SpaOptions.md) + +Optional observer and algorithm parameters + +## Returns + +`Promise`\<[`SpaFormattedResult`](../interfaces/SpaFormattedResult.md)\> + +Solar position result with sunrise, sunset, suntransit as HH:MM:SS strings + +## Throws + +If date is not a valid Date, or if latitude/longitude/option fields are not numbers + +## Throws + +If latitude/longitude are out of bounds, or if option fields are Infinity/NaN + +## Throws + +If WASM memory allocation fails or SPA returns a non-zero error code + +## Example + +```ts +import { spaFormatted } from 'solar-spa'; +const result = await spaFormatted(new Date('2025-06-21T12:00:00Z'), 40.7128, -74.006, { timezone: -4 }); +console.log(result.sunrise); // "05:25:12" +console.log(result.suntransit); // "12:59:58" +console.log(result.sunset); // "20:34:47" +``` diff --git a/.github/wiki/api/interfaces/SpaFormattedResult.md b/.github/wiki/api/interfaces/SpaFormattedResult.md new file mode 100644 index 0000000..f8e375b --- /dev/null +++ b/.github/wiki/api/interfaces/SpaFormattedResult.md @@ -0,0 +1,141 @@ +[**solar-spa v2.0.1**](../README.md) + +*** + +[solar-spa](../README.md) / SpaFormattedResult + +# Interface: SpaFormattedResult + +Defined in: [types.ts:65](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L65) + +## Extends + +- `Omit`\<[`SpaResult`](SpaResult.md), `"sunrise"` \| `"sunset"` \| `"suntransit"`\> + +## Properties + +### azimuth + +> **azimuth**: `number` + +Defined in: [types.ts:48](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L48) + +Topocentric azimuth angle, eastward from north (navigational convention), in degrees. + +#### Inherited from + +[`SpaResult`](SpaResult.md).[`azimuth`](SpaResult.md#azimuth) + +*** + +### azimuth\_astro + +> **azimuth\_astro**: `number` + +Defined in: [types.ts:46](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L46) + +Topocentric azimuth angle, westward from south (astronomical convention), in degrees. + +#### Inherited from + +[`SpaResult`](SpaResult.md).[`azimuth_astro`](SpaResult.md#azimuth_astro) + +*** + +### eot + +> **eot**: `number` + +Defined in: [types.ts:60](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L60) + +Equation of time in minutes. + +#### Inherited from + +[`SpaResult`](SpaResult.md).[`eot`](SpaResult.md#eot) + +*** + +### error\_code + +> **error\_code**: `number` + +Defined in: [types.ts:62](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L62) + +SPA error code. Always 0 on a successful return (non-zero throws). + +#### Inherited from + +[`SpaResult`](SpaResult.md).[`error_code`](SpaResult.md#error_code) + +*** + +### incidence + +> **incidence**: `number` + +Defined in: [types.ts:50](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L50) + +Surface incidence angle in degrees. + +#### Inherited from + +[`SpaResult`](SpaResult.md).[`incidence`](SpaResult.md#incidence) + +*** + +### sun\_transit\_alt + +> **sun\_transit\_alt**: `number` + +Defined in: [types.ts:58](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L58) + +Sun transit altitude in degrees. + +#### Inherited from + +[`SpaResult`](SpaResult.md).[`sun_transit_alt`](SpaResult.md#sun_transit_alt) + +*** + +### sunrise + +> **sunrise**: `string` + +Defined in: [types.ts:67](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L67) + +Local sunrise time as HH:MM:SS string. "N/A" during polar day/night. + +*** + +### sunset + +> **sunset**: `string` + +Defined in: [types.ts:69](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L69) + +Local sunset time as HH:MM:SS string. "N/A" during polar day/night. + +*** + +### suntransit + +> **suntransit**: `string` + +Defined in: [types.ts:71](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L71) + +Local sun transit time as HH:MM:SS string. "N/A" during polar day/night. + +*** + +### zenith + +> **zenith**: `number` + +Defined in: [types.ts:44](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L44) + +Topocentric zenith angle in degrees. + +#### Inherited from + +[`SpaResult`](SpaResult.md).[`zenith`](SpaResult.md#zenith) diff --git a/.github/wiki/api/interfaces/SpaOptions.md b/.github/wiki/api/interfaces/SpaOptions.md new file mode 100644 index 0000000..2e46c3e --- /dev/null +++ b/.github/wiki/api/interfaces/SpaOptions.md @@ -0,0 +1,110 @@ +[**solar-spa v2.0.1**](../README.md) + +*** + +[solar-spa](../README.md) / SpaOptions + +# Interface: SpaOptions + +Defined in: [types.ts:16](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L16) + +## Properties + +### atmos\_refract? + +> `optional` **atmos\_refract?**: `number` + +Defined in: [types.ts:37](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L37) + +Atmospheric refraction at sunrise/sunset in degrees. Default: 0.5667. + +*** + +### azm\_rotation? + +> `optional` **azm\_rotation?**: `number` + +Defined in: [types.ts:35](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L35) + +Surface azimuth rotation in degrees from south. Default: 0. + +*** + +### delta\_t? + +> `optional` **delta\_t?**: `number` + +Defined in: [types.ts:31](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L31) + +TT-UTC difference in seconds. Default: 67. + +*** + +### delta\_ut1? + +> `optional` **delta\_ut1?**: `number` + +Defined in: [types.ts:29](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L29) + +UT1-UTC correction in seconds. Default: 0. + +*** + +### elevation? + +> `optional` **elevation?**: `number` + +Defined in: [types.ts:23](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L23) + +Observer elevation in meters above sea level. Default: 0. + +*** + +### function? + +> `optional` **function?**: [`SpaFunctionCode`](../type-aliases/SpaFunctionCode.md) + +Defined in: [types.ts:39](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L39) + +SPA function code. Default: SPA_ALL (3). + +*** + +### pressure? + +> `optional` **pressure?**: `number` + +Defined in: [types.ts:25](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L25) + +Atmospheric pressure in millibars. Default: 1013.25. + +*** + +### slope? + +> `optional` **slope?**: `number` + +Defined in: [types.ts:33](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L33) + +Surface slope in degrees from horizontal. Default: 0. + +*** + +### temperature? + +> `optional` **temperature?**: `number` + +Defined in: [types.ts:27](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L27) + +Temperature in degrees Celsius. Default: 15. + +*** + +### timezone? + +> `optional` **timezone?**: `number` + +Defined in: [types.ts:21](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L21) + +Hours from UTC. If omitted, derived from the Date object's local offset. +For historical dates or DST transitions, pass an explicit value. diff --git a/.github/wiki/api/interfaces/SpaResult.md b/.github/wiki/api/interfaces/SpaResult.md new file mode 100644 index 0000000..58264e9 --- /dev/null +++ b/.github/wiki/api/interfaces/SpaResult.md @@ -0,0 +1,109 @@ +[**solar-spa v2.0.1**](../README.md) + +*** + +[solar-spa](../README.md) / SpaResult + +# Interface: SpaResult + +Defined in: [types.ts:42](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L42) + +## Properties + +### azimuth + +> **azimuth**: `number` + +Defined in: [types.ts:48](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L48) + +Topocentric azimuth angle, eastward from north (navigational convention), in degrees. + +*** + +### azimuth\_astro + +> **azimuth\_astro**: `number` + +Defined in: [types.ts:46](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L46) + +Topocentric azimuth angle, westward from south (astronomical convention), in degrees. + +*** + +### eot + +> **eot**: `number` + +Defined in: [types.ts:60](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L60) + +Equation of time in minutes. + +*** + +### error\_code + +> **error\_code**: `number` + +Defined in: [types.ts:62](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L62) + +SPA error code. Always 0 on a successful return (non-zero throws). + +*** + +### incidence + +> **incidence**: `number` + +Defined in: [types.ts:50](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L50) + +Surface incidence angle in degrees. + +*** + +### sun\_transit\_alt + +> **sun\_transit\_alt**: `number` + +Defined in: [types.ts:58](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L58) + +Sun transit altitude in degrees. + +*** + +### sunrise + +> **sunrise**: `number` + +Defined in: [types.ts:52](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L52) + +Local sunrise time as fractional hours. + +*** + +### sunset + +> **sunset**: `number` + +Defined in: [types.ts:54](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L54) + +Local sunset time as fractional hours. + +*** + +### suntransit + +> **suntransit**: `number` + +Defined in: [types.ts:56](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L56) + +Local sun transit time (solar noon) as fractional hours. + +*** + +### zenith + +> **zenith**: `number` + +Defined in: [types.ts:44](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L44) + +Topocentric zenith angle in degrees. diff --git a/.github/wiki/api/type-aliases/SpaFunctionCode.md b/.github/wiki/api/type-aliases/SpaFunctionCode.md new file mode 100644 index 0000000..b6a9cb3 --- /dev/null +++ b/.github/wiki/api/type-aliases/SpaFunctionCode.md @@ -0,0 +1,11 @@ +[**solar-spa v2.0.1**](../README.md) + +*** + +[solar-spa](../README.md) / SpaFunctionCode + +# Type Alias: SpaFunctionCode + +> **SpaFunctionCode** = *typeof* [`SPA_ZA`](../variables/SPA_ZA.md) \| *typeof* [`SPA_ZA_INC`](../variables/SPA_ZA_INC.md) \| *typeof* [`SPA_ZA_RTS`](../variables/SPA_ZA_RTS.md) \| *typeof* [`SPA_ALL`](../variables/SPA_ALL.md) + +Defined in: [types.ts:10](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L10) diff --git a/.github/wiki/api/variables/SPA_ALL.md b/.github/wiki/api/variables/SPA_ALL.md new file mode 100644 index 0000000..2710a26 --- /dev/null +++ b/.github/wiki/api/variables/SPA_ALL.md @@ -0,0 +1,13 @@ +[**solar-spa v2.0.1**](../README.md) + +*** + +[solar-spa](../README.md) / SPA\_ALL + +# Variable: SPA\_ALL + +> `const` **SPA\_ALL**: `3` + +Defined in: [types.ts:8](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L8) + +Compute all outputs: zenith, azimuth, incidence, and rise/transit/set. diff --git a/.github/wiki/api/variables/SPA_ZA.md b/.github/wiki/api/variables/SPA_ZA.md new file mode 100644 index 0000000..ea821d8 --- /dev/null +++ b/.github/wiki/api/variables/SPA_ZA.md @@ -0,0 +1,13 @@ +[**solar-spa v2.0.1**](../README.md) + +*** + +[solar-spa](../README.md) / SPA\_ZA + +# Variable: SPA\_ZA + +> `const` **SPA\_ZA**: `0` + +Defined in: [types.ts:2](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L2) + +Compute zenith and azimuth only. diff --git a/.github/wiki/api/variables/SPA_ZA_INC.md b/.github/wiki/api/variables/SPA_ZA_INC.md new file mode 100644 index 0000000..06fb719 --- /dev/null +++ b/.github/wiki/api/variables/SPA_ZA_INC.md @@ -0,0 +1,13 @@ +[**solar-spa v2.0.1**](../README.md) + +*** + +[solar-spa](../README.md) / SPA\_ZA\_INC + +# Variable: SPA\_ZA\_INC + +> `const` **SPA\_ZA\_INC**: `1` + +Defined in: [types.ts:4](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L4) + +Compute zenith, azimuth, and incidence angle. diff --git a/.github/wiki/api/variables/SPA_ZA_RTS.md b/.github/wiki/api/variables/SPA_ZA_RTS.md new file mode 100644 index 0000000..b0a97d3 --- /dev/null +++ b/.github/wiki/api/variables/SPA_ZA_RTS.md @@ -0,0 +1,13 @@ +[**solar-spa v2.0.1**](../README.md) + +*** + +[solar-spa](../README.md) / SPA\_ZA\_RTS + +# Variable: SPA\_ZA\_RTS + +> `const` **SPA\_ZA\_RTS**: `2` + +Defined in: [types.ts:6](https://github.com/acamarata/solar-spa/blob/aa0161a82431adb93846e39b5278ac65de379dec/src/types.ts#L6) + +Compute zenith, azimuth, and rise/transit/set times. diff --git a/package.json b/package.json index 0065730..a831b70 100644 --- a/package.json +++ b/package.json @@ -1,4 +1,5 @@ { + "type": "module", "name": "solar-spa", "version": "2.0.1", "description": "NREL Solar Position Algorithm (SPA) compiled to WebAssembly. High-performance solar position, sunrise, sunset, and solar noon calculations.", @@ -38,7 +39,8 @@ "format:check": "prettier --check src/", "validate": "node validate.mjs", "prepublishOnly": "pnpm run build:ts", - "coverage": "c8 --reporter=lcov --reporter=text node --test", + "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": [ @@ -72,6 +74,7 @@ }, "devDependencies": { "@acamarata/eslint-config": "^0.1.0", + "c8": "^10.1.3", "@acamarata/prettier-config": "^0.1.0", "@acamarata/tsconfig": "^0.1.0", "@eslint/js": "^10.0.1", @@ -80,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 9ba27e3..bdee4aa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,6 +23,9 @@ importers: '@types/node': specifier: ^25.3.0 version: 25.3.0 + c8: + specifier: ^10.1.3 + version: 10.1.3 eslint: specifier: ^10.0.3 version: 10.0.3 @@ -34,7 +37,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 @@ -70,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'} @@ -265,6 +278,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'} @@ -281,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==} @@ -294,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] @@ -419,18 +447,42 @@ 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==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} '@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} @@ -503,23 +555,62 @@ 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} + 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} 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'} @@ -528,6 +619,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'} @@ -539,6 +641,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'} @@ -555,11 +660,28 @@ 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'} + esbuild@0.27.3: resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} 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'} @@ -648,15 +770,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'} @@ -673,6 +815,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'} @@ -680,6 +826,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'} @@ -707,6 +868,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} @@ -715,13 +879,42 @@ 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 + + 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'} + + 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==} @@ -750,6 +943,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'} @@ -758,6 +954,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==} @@ -802,6 +1002,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'} @@ -810,6 +1014,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'} @@ -832,15 +1040,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'} @@ -891,6 +1127,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} @@ -903,6 +1152,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==} @@ -912,6 +1164,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'} @@ -921,6 +1177,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'} @@ -940,6 +1221,8 @@ snapshots: '@acamarata/tsconfig@0.1.0': {} + '@bcoe/v8-coverage@1.0.2': {} + '@esbuild/aix-ppc64@0.27.3': optional: true @@ -1052,6 +1335,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': @@ -1063,6 +1354,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 @@ -1077,6 +1379,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 @@ -1152,16 +1457,44 @@ 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': {} '@types/node@25.3.0': 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 @@ -1266,31 +1599,81 @@ 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 + 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 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 @@ -1303,6 +1686,14 @@ 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: optionalDependencies: '@esbuild/aix-ppc64': 0.27.3 @@ -1332,6 +1723,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): @@ -1434,13 +1827,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: {} @@ -1449,12 +1862,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: {} @@ -1476,20 +1910,53 @@ 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: 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 + 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 + + minipass@7.1.3: {} + mlly@1.8.0: dependencies: acorn: 8.16.0 @@ -1526,10 +1993,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: {} @@ -1544,18 +2018,24 @@ 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: {} + require-directory@2.1.1: {} + resolve-from@5.0.0: {} rollup@4.59.0: @@ -1597,8 +2077,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 @@ -1609,6 +2111,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.4 + thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -1632,7 +2144,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 @@ -1643,7 +2155,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 @@ -1663,6 +2175,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) @@ -1676,6 +2201,8 @@ snapshots: typescript@5.9.3: {} + uc.micro@2.1.0: {} + ufo@1.6.3: {} undici-types@7.18.2: {} @@ -1684,10 +2211,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 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 +}