/**
 * 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;
