Swift Macros have brought in a new wave of possibilities. The aim of this project is to curate a list of community-created Macros and associated learning resources.
A lot of use-cases my Sourcery covered before can now be implemented by Swift Macros.
Coding Keys: Effortlessly generate CodingKeys for converting snake_case to lowerCamelCase.
Builder pattern: Apply the Builder Pattern with ease by generating a Builder helper class, mimicking stored properties of the associated struct.
EnhancedMirror: An experimental Mirror alternative that utilizes Swift Macros for static reflection.
Testing
Power Assert: Adds assertions that can automatically produce information about the values being evaluated, and present it in an easily digestible form.
Spyable: A Swift macro that simplifies and automates the process of creating spies for testing. Using the @Spyable annotation on a protocol, the macro generates a spy class
that implements the same interface as the protocol and keeps track of interactions with its methods and properties.
Networking
SwiftRequest: SwiftRequest is a lightweight, type-safe HTTP client for Swift, streamlining the construction and execution of HTTP request build on top of Macros.
Enums
ExtractCaseValue: A Swift macro that extracts associated values from enum cases.