Skip to content

Commit

Permalink
Fix footnote references.
Browse files Browse the repository at this point in the history
  • Loading branch information
jan0sch committed Jul 10, 2022
1 parent 873300f commit ee91354
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions manuscript/mainmatter.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4661,7 +4661,7 @@ implicit val configReader: ConfigReader[DatabaseConfig] =
(DatabaseConfig(_, _, _, _))
```

The code compiles again (on 2.13!) and the tests are looking good. On Scala 3 we run again into the problem that the refined pureconfig module is not available. So we could either drop our beloved refined types or we write manual readers for them. In Scala 3 we could use the opaque type aliases[^4] to get more type safety but they are much less powerful than refined types. Well, we'll see how it goes, so at first we define companion objects for our refined types to gain some more functionality i.e. the `from` method to convert arbitrary types into refined ones.
The code compiles again (on 2.13!) and the tests are looking good. On Scala 3 we run again into the problem that the refined pureconfig module is not available. So we could either drop our beloved refined types or we write manual readers for them. In Scala 3 we could use the opaque type aliases[^45] to get more type safety but they are much less powerful than refined types. Well, we'll see how it goes, so at first we define companion objects for our refined types to gain some more functionality i.e. the `from` method to convert arbitrary types into refined ones.

{caption: "A companion object for a refined type providing more functionality"}
```scala
Expand Down Expand Up @@ -4850,7 +4850,7 @@ val componentsSetter = Setter[OpenAPI, Option[Components]](
)
```

However this is even more cumbersome than the manual macros before so maybe there is another way... And it turns out that we have another optics library for Scala which is called Quicklens[^45]. The fact that is comes from the same people that do the tapir project looks promising and indeed we do find a working implementation quickly.
However this is even more cumbersome than the manual macros before so maybe there is another way... And it turns out that we have another optics library for Scala which is called Quicklens[^46]. The fact that is comes from the same people that do the tapir project looks promising and indeed we do find a working implementation quickly.

{caption: "Using optics from Quicklens to update our documentation"}
```scala
Expand Down

0 comments on commit ee91354

Please sign in to comment.