ProductZipper

io.github.arainko.ducktape.internal.ProductZipper
object ProductZipper

Attributes

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

Members list

Type members

Classlikes

case class Field(name: String, tpe: Type[_ <: AnyKind])

Attributes

Companion
object
Source
ProductZipper.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Field

Attributes

Companion
class
Source
ProductZipper.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Field.type

Value members

Concrete methods

def zipAndConstruct[F[x] : Type, Dest : Type](F: Expr[Accumulating[F]], wrappedFields: NonEmptyList[Wrapped[F]], unwrappedFields: List[Unwrapped])(construct: ProductConstructor)(implicit evidence$1: Type[F], evidence$2: Type[Dest], Quotes): Expr[F[Dest]]

'Zips' a product using Transformer.Accumulating.Support[F]#product into a nested Tuple2 then unpacks that said tuple and allows the caller to use the unpacked fields to construct a tree of type Dest.

'Zips' a product using Transformer.Accumulating.Support[F]#product into a nested Tuple2 then unpacks that said tuple and allows the caller to use the unpacked fields to construct a tree of type Dest.

Value parameters

construct

function that allows the caller to create trees with the unpacked values

unwrappedFields

fields that are not wrapped in F (will not be a part of the zipped tuple)

wrappedFields

fields wrapped in F

Attributes

Source
ProductZipper.scala