Skip to content

Latest commit

 

History

History
32 lines (25 loc) · 592 Bytes

README.md

File metadata and controls

32 lines (25 loc) · 592 Bytes

WithValueless

A Swift macro to generate a copy of the enum with no associated values.

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
}

License

MIT.