UNPKG

@iyulab/oops

Version:

Core SDK for Oops - Safe text file editing with automatic backup

100 lines 3.65 kB
"use strict"; /** * Error classes for Oops */ Object.defineProperty(exports, "__esModule", { value: true }); exports.FileOperationError = exports.PermissionError = exports.ValidationError = exports.GitOperationError = exports.WorkspaceCorruptedError = exports.WorkspaceNotFoundError = exports.FileNotTrackedError = exports.FileAlreadyTrackedError = exports.FileNotFoundError = exports.OopsError = void 0; class OopsError extends Error { code; details; constructor(message, code, details = {}) { super(message); this.name = 'OopsError'; this.code = code; this.details = details; Error.captureStackTrace(this, this.constructor); } } exports.OopsError = OopsError; class FileNotFoundError extends OopsError { constructor(filePath, details = {}) { super(`File not found: ${filePath}`, 'FILE_NOT_FOUND', { filePath, ...details }); this.name = 'FileNotFoundError'; } } exports.FileNotFoundError = FileNotFoundError; class FileAlreadyTrackedError extends OopsError { constructor(filePath, details = {}) { super(`File is already being tracked: ${filePath}`, 'FILE_ALREADY_TRACKED', { filePath, ...details, }); this.name = 'FileAlreadyTrackedError'; } } exports.FileAlreadyTrackedError = FileAlreadyTrackedError; class FileNotTrackedError extends OopsError { constructor(filePath, details = {}) { super(`File is not being tracked: ${filePath}`, 'FILE_NOT_TRACKED', { filePath, ...details }); this.name = 'FileNotTrackedError'; } } exports.FileNotTrackedError = FileNotTrackedError; class WorkspaceNotFoundError extends OopsError { constructor(workspacePath, details = {}) { super(`Workspace not found: ${workspacePath}`, 'WORKSPACE_NOT_FOUND', { workspacePath, ...details, }); this.name = 'WorkspaceNotFoundError'; } } exports.WorkspaceNotFoundError = WorkspaceNotFoundError; class WorkspaceCorruptedError extends OopsError { constructor(workspacePath, details = {}) { super(`Workspace is corrupted: ${workspacePath}`, 'WORKSPACE_CORRUPTED', { workspacePath, ...details, }); this.name = 'WorkspaceCorruptedError'; } } exports.WorkspaceCorruptedError = WorkspaceCorruptedError; class GitOperationError extends OopsError { constructor(operation, details = {}) { super(`Git operation failed: ${operation}`, 'GIT_OPERATION_ERROR', { operation, ...details }); this.name = 'GitOperationError'; } } exports.GitOperationError = GitOperationError; class ValidationError extends OopsError { constructor(message, details = {}) { super(`Validation failed: ${message}`, 'VALIDATION_ERROR', details); this.name = 'ValidationError'; } } exports.ValidationError = ValidationError; class PermissionError extends OopsError { constructor(path, operation, details = {}) { super(`Permission denied: ${operation} on ${path}`, 'PERMISSION_ERROR', { path, operation, ...details, }); this.name = 'PermissionError'; } } exports.PermissionError = PermissionError; class FileOperationError extends OopsError { constructor(operation, path, message, details = {}) { super(`File operation failed: ${operation} on ${path} - ${message}`, 'FILE_OPERATION_ERROR', { operation, path, message, ...details, }); this.name = 'FileOperationError'; } } exports.FileOperationError = FileOperationError; //# sourceMappingURL=errors.js.map