neothXT / CodableOptionSet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CodableOptionSet

CodableOptionSet allows you to easily make your OptionSets conform to Codable. All you need to do is to add @CodableOptionSet to your OptionSet.

Installation

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

Basic Usage

@CodableOptionSet 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 :)

About

License:Apache License 2.0


Languages

Language:Swift 100.0%