danielsincere/identifiedenumcases
When an Swift enumeration has associated values, its cases can't be referenced as code. It would be so nice to reference the names of cases, even when an associated value isn't known.
Public visibility
If the enum is public, the generated CaseID enum and the generated caseID accessor will also be public. For example,
import IdentifiedEnumCases
@IdentifiedEnumCases
public enum AppRoute {
case item(ItemRoute)
case user(UserRoute)
}generates to
public enum AppRoute {
case item(ItemRoute)
case user(UserRoute)
public var caseID: CaseID {
switch self {
case .item: .item
case .user: .user
}
public enum CaseID: String, Hashable, CaseIterable {
case item
case user
}
}Installation
In Package.swift, add the package to your dependencies.
.package(url: "https://github.com/FullQueueDeveloper/IdentifiedEnumCases.git", from: "1.0.0"),And add "IdentifiedEnumCases" to the list of your target's dependencies.
When prompted by Xcode, trust the macro.
Swift macros?
Introduced at WWDC '23, requiring Swift 5.9
License
Package Metadata
Repository: danielsincere/identifiedenumcases
Default branch: master
README: README.md