JsonPrism

dev.constructive.eo.circe.JsonPrism
See theJsonPrism companion class
object JsonPrism

Attributes

Companion
class
Source
JsonPrism.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
JsonPrism.type

Members list

Value members

Concrete methods

def apply[S](using enc: Encoder[S], dec: Decoder[S]): JsonPrism[S]

Construct a root-level JsonPrism[S] — the focus is a Leaf with empty path.

Construct a root-level JsonPrism[S] — the focus is a Leaf with empty path.

Attributes

Source
JsonPrism.scala

Extensions

Extensions

extension [A](o: JsonPrism[A])
transparent inline def field[B](inline selector: A => B)(using encB: Encoder[B], decB: Decoder[B]): JsonPrism[B]

.field(_.x) — drill via selector lambda.

.field(_.x) — drill via selector lambda.

Attributes

Source
JsonPrism.scala
extension [A](o: JsonPrism[A])
transparent inline def at(i: Int): Any

.at(i) — drill into the i-th array element.

.at(i) — drill into the i-th array element.

Attributes

Source
JsonPrism.scala
extension [A](o: JsonPrism[A])
transparent inline def each: Any

.each — split into a JsonTraversal over the iterated array.

.each — split into a JsonTraversal over the iterated array.

Attributes

Source
JsonPrism.scala
extension [A](o: JsonPrism[A])
transparent inline def fields(inline selectors: A => Any*): Any

.fields(_.a, _.b, ...) — focus a NamedTuple over selected fields.

.fields(_.a, _.b, ...) — focus a NamedTuple over selected fields.

Attributes

Source
JsonPrism.scala