errors: typed helpers for every documented error type

AlexaErrors has a helper for each of the 73 types of the table on
alexa-errorresponse.html, named after the type in camel case: 63 take the
message only, 10 take the payload fields their page documents. A field the
page requires (reason, currentDeviceMode, currentChargeState, resourceType)
is a required argument, so leaving it out does not compile; from JavaScript
the helper throws a TypeError that lists the values. validRange is optional,
as the page says, and has both ends when given.
temperatureOutOfRange and setpointsTooClose stay as shorter names.
The helpers are compared with the 15 examples of the four error pages.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
David 2026-09-28 21:14:55 +00:00
parent 4a3dd81bcf
commit 94b13f733a
36 changed files with 874 additions and 138 deletions

View file

@ -8,7 +8,10 @@ export type {
SimpleEventFields,
} from "./build.js";
export { AlexaError, AlexaErrors, errorNamespace } from "./errors.js";
export type { ChargeState, ControlUnavailableReason, CurrentDeviceMode } from "./errors.js";
export type {
ChargeState, ControlUnavailableReason, CurrentDeviceMode, EndpointNeedingBypass, MaintenanceAction,
PlainErrorHelpers, ResourceType, ValidRange,
} from "./errors.js";
export { property } from "./property.js";
export type { PropertyOptions } from "./property.js";
export { StateBuilder } from "./StateBuilder.js";