Contents

neothxt/easilycodableoptionset

CodableOptionSet allows you to easily make your OptionSets conform to Codable and automatically cover `init(from decoder: Decoder)` and `encode(to encoder: Encoder)` for you.

Installation

CodableOptionSet is currently available only via SPM (Swift Package Manager)

Basic Usage

@EasilyCodableOptionSet struct MyOptionSet: OptionSet {
    var rawValue: Int
    static let optionOne = MyOptionSet(rawValue: 1 << 0)
    static let optionTwo: MyOptionSet = .init(rawValue: 1 << 1)
    static let optionThree: MyOptionSet = MyOptionSet(rawValue: 1 << 2)
    static let all: MyOptionSet = [.optionOne, .optionTwo, .optionThree]

    init(rawValue: Int) {
        self.rawValue = rawValue
    }
}

And that's it. Enjoy :)

Package Metadata

Repository: neothxt/easilycodableoptionset

Default branch: main

README: README.md