@ocubist/error-alchemy
Version:
A powerful Node.js error-handling-framework with custom error types for easy debugging, enhanced error management, strong zod-support and useful quality-of-life-functionality for asserting and validating values.
80 lines (79 loc) • 3.85 kB
text/typescript
/**
* Selector for all error codes. The first term always defines the category.
*/
export const errorCodeSelector = {
ASYNC_DATA_FETCHING_ERROR: "ASYNC_DATA_FETCHING_ERROR",
ASYNC_OPERATION_FAILED: "ASYNC_OPERATION_FAILED",
AUTH_INSUFFICIENT_PERMISSION: "AUTH_INSUFFICIENT_PERMISSION",
AUTH_INVALID_CREDENTIALS: "AUTH_INVALID_CREDENTIALS",
AUTH_TOKEN_EXPIRED: "AUTH_TOKEN_EXPIRED",
BUSINESS_CONDITIONAL_FLOW_ERROR: "BUSINESS_CONDITIONAL_FLOW_ERROR",
BUSINESS_RULE_VIOLATION: "BUSINESS_RULE_VIOLATION",
CLIENT_COMPONENT_ERROR: "CLIENT_COMPONENT_ERROR",
CLIENT_HOOK_ERROR: "CLIENT_HOOK_ERROR",
CLIENT_ROUTING_ERROR: "CLIENT_ROUTING_ERROR",
CLIENT_STATE_MANAGEMENT_ERROR: "CLIENT_STATE_MANAGEMENT_ERROR",
CONFIG_INVALID: "CONFIG_INVALID",
CONFIG_MISSING: "CONFIG_MISSING",
DATA_INTEGRITY_VIOLATION: "DATA_INTEGRITY_VIOLATION",
DATA_SERIALIZATION_ERROR: "DATA_SERIALIZATION_ERROR",
DATA_VALUE_NOT_FOUND: "DATA_VALUE_NOT_FOUND",
DB_CONNECTION_FAILED: "DB_CONNECTION_FAILED",
DB_QUERY_FAILED: "DB_QUERY_FAILED",
DB_RECORD_NOT_FOUND: "DB_RECORD_NOT_FOUND",
DEPLOYMENT_CONTAINERIZATION_ERROR: "DEPLOYMENT_CONTAINERIZATION_ERROR",
DEPLOYMENT_ERROR: "DEPLOYMENT_ERROR",
ENV_VARIABLE_MISSING: "ENV_VARIABLE_MISSING",
FEATURE_NOT_IMPLEMENTED: "FEATURE_NOT_IMPLEMENTED",
FILE_NOT_FOUND: "FILE_NOT_FOUND",
FILE_READ_ERROR: "FILE_READ_ERROR",
FILE_WRITE_ERROR: "FILE_WRITE_ERROR",
HTTP_BAD_GATEWAY: "HTTP_BAD_GATEWAY",
HTTP_BAD_REQUEST: "HTTP_BAD_REQUEST",
HTTP_FORBIDDEN: "HTTP_FORBIDDEN",
HTTP_GATEWAY_TIMEOUT: "HTTP_GATEWAY_TIMEOUT",
HTTP_INTERNAL_SERVER_ERROR: "HTTP_INTERNAL_SERVER_ERROR",
HTTP_METHOD_NOT_ALLOWED: "HTTP_METHOD_NOT_ALLOWED",
HTTP_NOT_FOUND: "HTTP_NOT_FOUND",
HTTP_SERVICE_UNAVAILABLE: "HTTP_SERVICE_UNAVAILABLE",
HTTP_TOO_MANY_REQUESTS: "HTTP_TOO_MANY_REQUESTS",
HTTP_UNAUTHORIZED: "HTTP_UNAUTHORIZED",
HTTP_UNAVAILABLE_FOR_LEGAL_REASONS: "HTTP_UNAVAILABLE_FOR_LEGAL_REASONS",
HTTP_UNPROCESSABLE_ENTITY: "HTTP_UNPROCESSABLE_ENTITY",
MONITORING_ALERT: "MONITORING_ALERT",
MONITORING_LOGGING_FAILURE: "MONITORING_LOGGING_FAILURE",
NETWORK_CONNECTION_REFUSED: "NETWORK_CONNECTION_REFUSED",
NETWORK_CONNECTION_RESET: "NETWORK_CONNECTION_RESET",
NETWORK_DNS_LOOKUP_FAILED: "NETWORK_DNS_LOOKUP_FAILED",
NETWORK_HOST_UNREACHABLE: "NETWORK_HOST_UNREACHABLE",
NETWORK_TIMEOUT: "NETWORK_TIMEOUT",
NPM_DEPENDENCY_FAILURE: "NPM_DEPENDENCY_FAILURE",
NPM_LIBRARY_INTEGRATION_ERROR: "NPM_LIBRARY_INTEGRATION_ERROR",
NPM_LIBRARY_USAGE_ERROR: "NPM_LIBRARY_USAGE_ERROR",
OPERATION_ABORTED: "OPERATION_ABORTED",
PERFORMANCE_ISSUE: "PERFORMANCE_ISSUE",
RESOURCE_LIMIT_EXCEEDED: "RESOURCE_LIMIT_EXCEEDED",
RESOURCE_NOT_AVAILABLE: "RESOURCE_NOT_AVAILABLE",
RUNTIME_ERROR: "RUNTIME_ERROR",
RUNTIME_SYNTAX_ERROR: "RUNTIME_SYNTAX_ERROR",
RUNTIME_TYPE_ERROR: "RUNTIME_TYPE_ERROR",
SECURITY_CORS_VIOLATION: "SECURITY_CORS_VIOLATION",
SECURITY_CSRF_ATTACK_DETECTED: "SECURITY_CSRF_ATTACK_DETECTED",
SECURITY_MEMORY_LEAK: "SECURITY_MEMORY_LEAK",
SECURITY_PRIVACY_BREACH: "SECURITY_PRIVACY_BREACH",
SECURITY_VIOLATION: "SECURITY_VIOLATION",
SERVER_API_ENDPOINT_ERROR: "SERVER_API_ENDPOINT_ERROR",
SERVER_MIDDLEWARE_FAILURE: "SERVER_MIDDLEWARE_FAILURE",
SERVER_RATE_LIMIT_EXCEEDED: "SERVER_RATE_LIMIT_EXCEEDED",
SERVER_SESSION_ERROR: "SERVER_SESSION_ERROR",
TEST_ASSERTION_ERROR: "TEST_ASSERTION_ERROR",
TEST_FAILURE: "TEST_FAILURE",
UI_INTERACTION_ERROR: "UI_INTERACTION_ERROR",
UI_UX_FLOW_BROKEN: "UI_UX_FLOW_BROKEN",
UNKNOWN_ERROR: "UNKNOWN_ERROR",
UPDATE_REAL_TIME_FAILURE: "UPDATE_REAL_TIME_FAILURE",
VALIDATION_ERROR: "VALIDATION_ERROR",
VALIDATION_INVALID_FORMAT: "VALIDATION_INVALID_FORMAT",
VALIDATION_MISSING_FIELD: "VALIDATION_MISSING_FIELD",
WEBSOCKET_CONNECTION_ERROR: "WEBSOCKET_CONNECTION_ERROR",
} as const;