Required Enum Case

Enums conforming to a specified protocol must implement a specific case(s).

  • Identifier: required_enum_case
  • Enabled by default: No
  • Supports autocorrection: No
  • Kind: lint
  • Analyzer rule: No
  • Minimum Swift compiler version: 5.0.0
  • Default configuration: No protocols configured. In config add ‘required_enum_case’ to ‘opt_in_rules’ and config using :

‘required_enum_case: {Protocol Name}: {Case Name}:{warning|error} {Case Name}:{warning|error}

Non Triggering Examples

enum MyNetworkResponse: String, NetworkResponsable {
    case success, error, notConnected
}
enum MyNetworkResponse: String, NetworkResponsable {
    case success, error, notConnected(error: Error)
}
enum MyNetworkResponse: String, NetworkResponsable {
    case success
    case error
    case notConnected
}
enum MyNetworkResponse: String, NetworkResponsable {
    case success
    case error
    case notConnected(error: Error)
}

Triggering Examples

enum MyNetworkResponse: String, NetworkResponsable {
    case success, error
}
enum MyNetworkResponse: String, NetworkResponsable {
    case success, error
}
enum MyNetworkResponse: String, NetworkResponsable {
    case success
    case error
}
enum MyNetworkResponse: String, NetworkResponsable {
    case success
    case error
}