无值枚举副本

一个 Swift 宏,用于生成一个没有关联值的枚举副本。

import WithValueless

@WithValueless
indirect enum Unit {
  case ton, kilogram, gram
  case kilometer, meter, decimeter, centimeter
  case currency(code: String)
  case derived(Unit, power: Int)
  case derived(Unit, by: Unit)
  case custom(String)
}

// Expands:

enum ValuelessUnit {
  case ton, kilogram, gram
  case kilometer, meter, decimeter, centimeter
  case currencyCodeString
  case derivedUnitPowerInt
  case derivedUnitByUnit
  case customString
}

许可

MIT.