UNPKG

spanwright

Version:

CLI tool to generate Cloud Spanner E2E testing framework projects with Go database tools and Playwright browser automation

64 lines 1.99 kB
"use strict"; // Custom error types for better error handling Object.defineProperty(exports, "__esModule", { value: true }); exports.SecurityError = exports.ConfigurationError = exports.FileSystemError = exports.ValidationError = exports.SpanwrightError = void 0; exports.handleError = handleError; exports.safeExit = safeExit; class SpanwrightError extends Error { constructor(message, code) { super(message); this.code = code; this.name = 'SpanwrightError'; } } exports.SpanwrightError = SpanwrightError; class ValidationError extends SpanwrightError { constructor(message, field) { super(message, 'VALIDATION_ERROR'); this.field = field; this.name = 'ValidationError'; } } exports.ValidationError = ValidationError; class FileSystemError extends SpanwrightError { constructor(message, path) { super(message, 'FILESYSTEM_ERROR'); this.path = path; this.name = 'FileSystemError'; } } exports.FileSystemError = FileSystemError; class ConfigurationError extends SpanwrightError { constructor(message, key) { super(message, 'CONFIGURATION_ERROR'); this.key = key; this.name = 'ConfigurationError'; } } exports.ConfigurationError = ConfigurationError; class SecurityError extends SpanwrightError { constructor(message, path) { super(message, 'SECURITY_ERROR'); this.path = path; this.name = 'SecurityError'; } } exports.SecurityError = SecurityError; // Error handling utility function handleError(error) { if (error instanceof SpanwrightError) { console.error(error.message); process.exit(1); } if (error instanceof Error) { console.error('❌ An error occurred:', error.message); process.exit(1); } console.error('❌ An unknown error occurred'); process.exit(1); } // Safe exit utility function safeExit(code = 0) { process.exit(code); } //# sourceMappingURL=errors.js.map