@@ -19,7 +19,7 @@ import fr.janalyse.cem.FileSystemService
1919import fr .janalyse .cem .tools .*
2020import fr .janalyse .cem .tools .Hashes .sha1
2121import zio .*
22- import zio .lmdb .*
22+ import zio .lmdb .* , zio . lmdb . json . *
2323import zio .nio .charset .Charset
2424import zio .nio .file .*
2525import zio .json .*
@@ -63,20 +63,20 @@ case class CodeExample(
6363 updatedCount : Option [Int ] = None , // computed from GIT history
6464 attachments : Map [String , String ] = Map .empty, // embedded
6565 lastSeen : Option [OffsetDateTime ] = None // last seen/used date, useful for database garbage collection purposes
66- ) {
66+ ) derives LMDBCodecJson {
6767 def fileExtension : String = filename.split(" [.]" , 2 ).drop(1 ).headOption.getOrElse(" " )
6868 def isTestable : Boolean = keywords.contains(" @testable" )
6969 def isExclusive : Boolean = keywords.contains(" @exclusive" ) // exclusive examples are executed sequentially
7070 def shouldFail : Boolean = keywords.contains(" @fail" )
71- def isPublishable : Boolean = ! publish.isEmpty
71+ def isPublishable : Boolean = publish.nonEmpty
7272 override def toString : String = s " $category $filename $uuid $summary"
7373}
7474
7575object CodeExample {
7676 given JsonEncoder [Path ] = JsonEncoder [String ].contramap(p => p.toString)
7777 given JsonDecoder [Path ] = JsonDecoder [String ].map(p => Path (p))
78- given JsonDecoder [CodeExample ] = DeriveJsonDecoder .gen
79- given JsonEncoder [CodeExample ] = DeriveJsonEncoder .gen
78+ // given JsonDecoder[CodeExample] = DeriveJsonDecoder.gen
79+ // given JsonEncoder[CodeExample] = DeriveJsonEncoder.gen
8080
8181 def exampleContentExtractValue (from : String , key : String ): Option [String ] = {
8282 val RE = (""" (?m)(?i)^(?:(?:// )|(?:## )|(?:- )|(?:-- )) *""" + key + """ *: *(.*)$""" ).r
0 commit comments