ducktape icon indicating copy to clipboard operation
ducktape copied to clipboard

Automatic and customizable compile time transformations between similar case classes and sealed traits/enums, essentially a thing that glues your code. Scala 3 only. Or is it duct 🤔

Results 18 ducktape issues
Sort by recently updated
recently updated
newest added

This whole lib is just macros all the way down (and some plain classes and traits) so I guess targeting `Scala.js` and `Scala Native` should be pretty straight forward (?)...

```scala final case class Recursive[A](value: Option[Recursive[A]) val transformer = Transformer[Recursive[Int], Recursive[Option[Int]] // fails to compile ```

## About this PR 📦 Updates * [org.scala-native:nscplugin](https://github.com/scala-native/scala-native) * [org.scala-native:sbt-scala-native](https://github.com/scala-native/scala-native) from `0.4.17` to `0.5.1` 📜 [GitHub Release Notes](https://github.com/scala-native/scala-native/releases/tag/v0.5.1) - [Version Diff](https://github.com/scala-native/scala-native/compare/v0.4.17...v0.5.1) ## Usage ✅ **Please merge!** I'll automatically update this...

Hi there 👋 First, thank you very much for your work on this library, it's honestly amazing! I'm not sure whether this is already supported or not, but I was...

Under `-Xcheck-macros` this: ```scala case class Positive(value: Int) object Positive { given transformer: Transformer.Fallible[[a] =>> Either[List[String], a], Int, Positive] = a => Right(Positive(a)) } final case class SourceToplevel1(level1: List[SourceLevel1]) final...

As expressed here: https://github.com/arainko/ducktape/blob/9560997e2adfbb8ac615ad79b13e256ac87b2052/ducktape/src/test/scala/io/github/arainko/ducktape/fallible/accumulating/AccumulatingNestedConfigurationSuite.scala#L227

Usage examples: ```scala case class Numbers(int1: Int, int2: Int, int3: Int) val toTuple = (???: Numbers).to[(Int, Int, Int)] val fromTuple = (1, 2. 3).to[Numbers] ``` ```scala case class NumbersWithLessFields(int1: Int,...

## About this PR 📦 Updates [ch.epfl.scala:sbt-scalafix](https://github.com/scalacenter/sbt-scalafix) from `0.11.1` to `0.12.0` 📜 [GitHub Release Notes](https://github.com/scalacenter/sbt-scalafix/releases/tag/v0.12.0) - [Version Diff](https://github.com/scalacenter/sbt-scalafix/compare/v0.11.1...v0.12.0) ## Usage ✅ **Please merge!** I'll automatically update this PR to resolve...