UNPKG

@whook/whook

Version:

Build strong and efficient REST web services.

204 lines (175 loc) 5.91 kB
import { type ErrorObject } from 'ajv'; /** * Global Error Registry for Whook */ declare module 'yerror' { interface YErrorRegistry { /** * Thrown when commands arguments are bad * @param error the AJV errors encountered */ E_BAD_ARG: [error: ErrorObject<string, Record<string, unknown>, unknown>[]]; /** * Thrown when no command name is provided in CLI arguments */ E_NO_COMMAND_NAME: []; /** * Thrown when a command name is not found in available commands * @param commandName the name of the command that was not found */ E_BAD_COMMAND_NAME: [commandName: string]; /** * Thrown when a command module has no default export (handler) * @param commandName the name of the command */ E_NO_COMMAND_HANDLER: [commandName: string]; /** * Thrown when a command module has no definition export * @param commandName the name of the command */ E_NO_COMMAND_DEFINITION: [commandName: string]; /** * Thrown when a dependency cannot be resolved during auto-loading * @param injectedName the name of the dependency that could not be found */ E_UNMATCHED_DEPENDENCY: [injectedName: string, ...parents: string[]]; /** * Thrown when an OpenAPI path item is invalid (undefined or has $ref) * @param path the OpenAPI path * @param pathItem the invalid path item */ E_BAD_PATH_ITEM: [path: string, pathItem: unknown]; /** * Thrown when an OpenAPI operation is invalid (has $ref or no operationId) * @param path the OpenAPI path * @param method the HTTP method * @param operation the invalid operation */ E_BAD_OPERATION: [path: string, method: string, operation: unknown] | []; /** * Thrown when trying to invoke a route while the route invoker is disposing */ E_DISPOSING: []; /** * Thrown when a configuration value is not found * @param name the configuration name */ E_NO_CONFIG: [name: string]; /** * Thrown when a query on a config/service does not return results * @param name the config/service name * @param query the query string used */ E_NO_RESULT: [name: string, query?: string]; /** * Thrown when a handler name does not match the required patterns * @param finalName the handler name * @param patterns the regex patterns it should match */ E_BAD_HANDLER_NAME: [finalName: string, patterns: string[]]; /** * Thrown when an unexpected type is encountered in the create command */ E_UNEXPECTED_TYPE: []; /** * Thrown when a service cannot be found during inspection * @param name the service name */ E_NO_SERVICE_FOUND: [name: string]; /** * Thrown when an environment variable is not found * @param name the environment variable name */ E_NO_ENV_VALUE: [name: string]; /** * Thrown when a security scheme is referenced but not declared in OpenAPI * @param schemeKey the security scheme key * @param operationId the operation ID referencing the scheme */ E_UNDECLARED_SECURITY_SCHEME: [schemeKey: string]; /** * Thrown when an unsupported HTTP authentication scheme is used * @param scheme the HTTP scheme */ E_UNSUPPORTED_HTTP_SCHEME: [scheme: string]; /** * Thrown when an API key source is not supported (e.g., cookie) * @param source the API key source * @param name the parameter name */ E_UNSUPPORTED_API_KEY_SOURCE: [source: string, name: string]; /** * Thrown when a parameter has an invalid name * @param parameter the parameter object */ E_BAD_PARAMETER_NAME: [parameter: unknown]; /** * Thrown when a parameter definition uses unsupported features * @param name the parameter name * @param reason the reason it's unsupported * @param value the unsupported value */ E_UNSUPPORTED_PARAMETER_DEFINITION: [ name: string, reason: string, value?: string, ]; /** * Thrown when a parameter is defined without a schema * @param name the parameter name */ E_PARAMETER_WITHOUT_SCHEMA: [name: string]; /** * Thrown when a schema type is not supported * @param schema the unsupported schema */ E_UNSUPPORTED_SCHEMA: [schema: unknown]; /** * Thrown when a parameter schema type is not supported * @param schema the unsupported schema */ E_UNSUPPORTED_PARAMETER_SCHEMA: [schema: unknown]; /** * Thrown when a parameter schema validation fails * @param name the parameter name */ E_BAD_PARAMETER_SCHEMA: [name: string]; /** * Thrown when a request body schema is invalid * @param operationId the operation ID * @param mediaType the media type */ E_BAD_BODY_SCHEMA: [operationId: string, mediaType: string]; /** * Thrown when a required request body is missing * @param operationId the operation ID * @param bodyType the type of the body * @param body the body value */ E_REQUIRED_REQUEST_BODY: [ operationId: string, bodyType: string, body: unknown, ]; /** * Thrown when the request body fails validation * @param operationId the operation ID * @param bodyType the type of the body * @param body the body value * @param errors the validation errors */ E_BAD_REQUEST_BODY: [ operationId: string, bodyType: string, body: unknown, errors: unknown, ]; /** * Thrown when a request body is provided but not expected * @param operationId the operation ID * @param bodyType the type of the body * @param body the body value */ E_NO_REQUEST_BODY: [operationId: string, bodyType: string, body: unknown]; } }