Skip to content

zijievv/swift-enum-reflection

Repository files navigation

Swift Enum Reflection

A Swift macro that enables lightweight reflection for enums by generating case metadata automatically.

Macro Declaration

@attached(member, names: named(caseName), named(caseIndex), named(parse))
public macro EnumReflection() = // ...

Example

@EnumReflection
enum Status: Int {
    case idle = 1, running, completed, failed
}

Generates:

extension Status {
    internal var caseName: String {
        // ...
    }

    internal var caseIndex: Int {
        // ...
    }

    internal static func parse(caseName: String) -> Self? {
        // ...
    }
}

About

A Swift macro that enables lightweight reflection for enums by generating case metadata

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages