io.circe.Encoder[A]
そのタイプにインスタンスがある限り、次のようなタイプを永続化できるメソッドがあります。
def persist[A](a: A)(implicit ea: Encoder[A]): Boolean
これをテストしている間、シールされたトレイトの下に古いケース クラスまたはケース クラスのセットを作成し、ADT を作成し、型クラスの自動派生を使用して を作成しEncoder
、さらに ScalaCheckArbitrary
インスタンスを作成することができます。 .
何らかの方法で Shapeless を使用して、ケース クラスの任意のファミリを作成し (したがって、自動的に派生Encoder
およびArbitrary
インスタンス化)、persist
メソッドがどの型でも確実に機能するようにすることは可能でしょうか?
このタイプを説明しようとするどころか、どこから始めればよいかわかりません。