glitchkit
Version:
A lightweight toolkit to create and manage expressive, structured, and reusable error types. Perfect for APIs, services, and glitchy adventures
33 lines (32 loc) • 1.27 kB
TypeScript
import GlitchKitMetadata from '../utility/GlitchKitMetadata';
import GlitchKitTraceability from '../utility/GlitchKitTraceability';
import IGlitchKitBaseErrorJson from './interfaces/GlitchKitBaseError.interface';
/**
* Base class for all GlitchKit errors.
* Provides common properties and methods for error handling.
*/
declare abstract class GlitchKitBaseError extends Error {
private _traceability;
private _metadata;
private _errorCode?;
private _timestamp;
private _durationMs?;
constructor(message: string, errorCode?: number);
get traceability(): GlitchKitTraceability;
set traceability(trace: GlitchKitTraceability);
withTraceability(trace: GlitchKitTraceability): this;
get metadata(): GlitchKitMetadata;
set metadata(meta: GlitchKitMetadata);
withMetadata(meta: GlitchKitMetadata): this;
get errorCode(): number | undefined;
set errorCode(code: number | undefined);
withErrorCode(code: number): this;
get timestamp(): Date;
get durationMs(): number | undefined;
set durationMs(val: number | undefined);
withDurationMs(val: number): this;
static isInstance(error: unknown): boolean;
toJSON(): IGlitchKitBaseErrorJson;
raise(): never;
}
export default GlitchKitBaseError;