UNPKG

seyfert

Version:

The most advanced framework for discord bots

117 lines (116 loc) 3.92 kB
/** * Base error type used by Seyfert. * * It supports optional machine-readable metadata and preserves the original * cause when wrapping lower-level errors. * * @remarks * For validation errors, prefer structured metadata (you can use * {@link createValidationMetadata}) with: * - `expected`: expected value or shape * - `received`: received value * - `receivedType`: optional primitive/runtime type * * @example * ```ts * throw new SeyfertError('INVALID_TOKEN', { * metadata: { shardId: 0 }, * }); * ``` */ export declare class SeyfertError extends Error { /** * Error name used in logs and stack traces. */ name: string; /** * Optional machine-readable error identifier. */ code: SeyfertErrorCode; /** * Optional contextual data attached to the error. */ metadata?: Record<string, unknown>; /** * Creates a SeyfertError instance. * * @param code Machine-readable error code. * @param options Additional error options. * @param options.metadata Optional contextual metadata for diagnostics. * @param options.cause Original error that caused this error. */ constructor(code: SeyfertErrorCode, options?: { metadata?: Record<string, unknown>; cause?: unknown; }); /** * Serializes the error into a plain object. * * @returns Serializable error payload including name, message, code, metadata and cause. */ toJSON(): { name: string; message: string; code: SeyfertErrorCode; metadata: Record<string, unknown> | undefined; cause: unknown; }; } export declare function createValidationMetadata(expected: unknown, received: unknown, metadata?: Record<string, unknown>): { expected: unknown; received: unknown; receivedType: string; }; export declare const SeyfertErrorMessages: { INTERNAL_ERROR: string; INVALID_TOKEN: string; FUNCTION_NOT_IMPLEMENTED: string; NO_SEYFERT_CONFIG: string; BAD_OPTION: string; INVALID_EMOJI: string; EMOJI_NOT_RESOLVABLE: string; INVALID_OPTIONS_LENGTH: string; MISSING_COMPONENT: string; MISSING_ACCESSORY: string; INVALID_ATTACHMENT_TYPE: string; INVALID_ANSWER_ID: string; UNDEFINED_LOCALE: string; INTERACTION_ALREADY_REPLIED: string; CANNOT_USE_REPLY: string; RELOAD_NOT_SUPPORTED: string; API_WORKER_PROXY_PARENT_REQUIRED: string; WORKER_TIMEOUT: string; WORKER_THREADS_REQUIRED: string; WORKER_AND_SHARD_ID_REQUIRED: string; WORKER_NOT_FOUND: string; INVALID_SHARD_ID: string; INVALID_WORKER_REQUEST: string; CANNOT_OVERRIDE_EXISTING_SHARD: string; INVALID_SEC_WEBSOCKET_ACCEPT_HEADER: string; CACHE_TIMEOUT: string; CACHE_USERS_DISABLED: string; CACHE_MEMBERS_DISABLED: string; CACHE_CHANNELS_DISABLED: string; CACHE_OVERWRITES_DISABLED: string; CACHE_USERS_VALUES_SIZE_MISMATCH: string; CACHE_USERS_COUNT_MISMATCH: string; CACHE_USERS_COUNT_NOT_ZERO: string; CACHE_MEMBERS_GUILD_VALUES_SIZE_MISMATCH: string; CACHE_MEMBERS_GUILD_COUNT_MISMATCH: string; CACHE_MEMBERS_VALUES_SIZE_MISMATCH: string; CACHE_MEMBERS_GLOBAL_COUNT_MISMATCH: string; CACHE_MEMBERS_COUNT_NOT_ZERO: string; CACHE_CHANNELS_GUILD_VALUES_SIZE_MISMATCH: string; CACHE_CHANNELS_GUILD_COUNT_MISMATCH: string; CACHE_CHANNELS_VALUES_SIZE_MISMATCH: string; CACHE_CHANNELS_COUNT_MISMATCH: string; CACHE_CHANNELS_COUNT_NOT_ZERO: string; CACHE_OVERWRITES_CHANNEL_VALUES_SIZE_MISMATCH: string; CACHE_OVERWRITES_CHANNEL_COUNT_MISMATCH: string; CACHE_OVERWRITE_NOT_FOUND: string; CACHE_OVERWRITES_COUNT_NOT_ZERO: string; INVALID_RETRY_AFTER: string; DENO_FILE_API_UNSUPPORTED: string; GUILD_SEARCH_INDEX_NOT_READY: string; }; export type SeyfertErrorCode = keyof typeof SeyfertErrorMessages | (string & {});