SelectorMacros

zio.blocks.schema.migration.SelectorMacros

Scala 3 macros for converting selector expressions into DynamicOptic paths.

These macros parse selector expressions like:

  • _.field → DynamicOptic.root.field("field")
  • _.a.b.c → DynamicOptic.root.field("a").field("b").field("c")
  • _.items.each → DynamicOptic.root.field("items").elements
  • _.country.when[UK] → DynamicOptic.root.field("country").caseOf("UK")

Attributes

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

Members list

Value members

Concrete methods

inline def extractFieldName[S, A](inline selector: S => A): String

Attributes

Source
SelectorMacros.scala
def extractFieldNameImpl[S, A](selector: Expr[S => A])(using evidence$1: Type[S], evidence$2: Type[A], q: Quotes): Expr[String]

Attributes

Source
SelectorMacros.scala
inline def toPath[S, A](inline selector: S => A): DynamicOptic

Attributes

Source
SelectorMacros.scala
def toPathImpl[S, A](selector: Expr[S => A])(using evidence$1: Type[S], evidence$2: Type[A], q: Quotes): Expr[DynamicOptic]

Attributes

Source
SelectorMacros.scala