UNPKG

@campusiq/sdk

Version:

Official JavaScript/TypeScript SDK for CampusIQ - A comprehensive school management system API

42 lines 1.49 kB
export class CampusIQError extends Error { constructor(message, statusCode = 500, code = 'UNKNOWN_ERROR', requestId) { super(message); this.name = 'CampusIQError'; this.statusCode = statusCode; this.code = code; this.requestId = requestId; // Maintains proper stack trace for where our error was thrown (only available on V8) if (Error.captureStackTrace) { Error.captureStackTrace(this, CampusIQError); } } toJSON() { return { name: this.name, message: this.message, statusCode: this.statusCode, code: this.code, requestId: this.requestId, stack: this.stack }; } static isNetworkError(error) { return error instanceof CampusIQError && error.code === 'NETWORK_ERROR'; } static isAuthenticationError(error) { return error instanceof CampusIQError && error.statusCode === 401; } static isAuthorizationError(error) { return error instanceof CampusIQError && error.statusCode === 403; } static isNotFoundError(error) { return error instanceof CampusIQError && error.statusCode === 404; } static isRateLimitError(error) { return error instanceof CampusIQError && error.statusCode === 429; } static isServerError(error) { return error instanceof CampusIQError && error.statusCode >= 500; } } //# sourceMappingURL=error.js.map