Skip to content

v0.23.0

Choose a tag to compare

@kevin-lee kevin-lee released this 22 Oct 07:55
· 526 commits to main since this release
a62b95a

0.23.0 - 2022-10-22

Package Rename

  • Rename extras.render.syntax.render => extras.render.syntax (#252)

New Features

  • [extras-render] Add String interpolation support for Render (#253)
    import extras.render.Render
    import extras.render.syntax._
    
    final case class Foo(id: Int, name: String)
    
    object Foo {
      implicit val fooRender: Render[Foo] =
        foo => s"{ID=${foo.id.toString},Name=${foo.name}}"
    }
    
    val foo1 = Foo(1, "A")
    val foo2 = Foo(2, "B")
    val foo3 = Foo(3, "C")
    
    println(render"$foo1 > $foo2 >> $foo3")
    // {ID=1,Name=A} > {ID=2,Name=B} >> {ID=3,Name=C}
  • [extras-render] Add Render.render[A](A => String): Render[A] (#256)
    import extras.render.Render
    
    final case class Something(value: String)
    object Something {
      implicit val renderSomething: Render[Something] =
        Render.render(s => s"value=${s.value}")
    }
    
    val foo = Something("Blah")
    Render[Something].render(foo)
    // String = "value=Blah"

What's Changed

Full Changelog: v0.22.0...v0.23.0