PipeDerivationConfig

pipez.PipeDerivationConfig
See thePipeDerivationConfig companion object
sealed trait PipeDerivationConfig[Pipe[_, _], In, Out]

Let you customize the derivation process

It's used as a phantom type, so it shouldn't be stored in values and only created in-place in .derive(...) macro

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Concise view

Value members

Concrete methods

final def addFallbackToValue[Fallback](fallbackValue: Fallback): PipeDerivationConfig.this.type

When there is no corresponding field nor settings providing value, attempts to find field in value

When there is no corresponding field nor settings providing value, attempts to find field in value

Value provided earlier has higher priority, defaults if enabled have the lowest priority.

Attributes

final def addField[OutField](outputField: Out => OutField, pipe: Pipe[In, OutField]): PipeDerivationConfig.this.type

Let you manually compute the value for an output field by providing a Pipe from a whole In object

Let you manually compute the value for an output field by providing a Pipe from a whole In object

Attributes

Prints additional information during compilation about the derivation process, generated code and time it took

Prints additional information during compilation about the derivation process, generated code and time it took

Attributes

When there is no corresponding field nor settings providing value, attempts to use the default value

When there is no corresponding field nor settings providing value, attempts to use the default value

Attributes

During derivation subtype names from In to Out won't be matches exactly but with case-insensitive comparison

During derivation subtype names from In to Out won't be matches exactly but with case-insensitive comparison

Attributes

During derivation field names from In to Out won't be matches exactly but with case-insensitive comparison

During derivation field names from In to Out won't be matches exactly but with case-insensitive comparison

Attributes

final def plugInField[InField, OutField](inputField: In => InField, outputField: Out => OutField, pipe: Pipe[InField, OutField]): PipeDerivationConfig.this.type

Let you specify the exact way a specific output field is computed using specific input field

Let you specify the exact way a specific output field is computed using specific input field

Attributes

final def plugInSubtype[InSubtype <: In, OutSubtype <: Out](pipe: Pipe[InSubtype, OutSubtype]): PipeDerivationConfig.this.type

Let you specify the exact way a specific output subtype is computed using specific input subtype

Let you specify the exact way a specific output subtype is computed using specific input subtype

Attributes

Allow attempts to recursively derive transformation even without auto derivation implicit in scope

Allow attempts to recursively derive transformation even without auto derivation implicit in scope

Attributes

final def removeSubtype[InSubtype <: In](pipe: Pipe[InSubtype, Out]): PipeDerivationConfig.this.type

Let you manually handle removal of a specific subtype of output sum type

Let you manually handle removal of a specific subtype of output sum type

Attributes

final def renameField[InField, OutField](inputField: In => InField, outputField: Out => OutField): PipeDerivationConfig.this.type

Let you specify that value of a specific output field should be calculated using a specific input field

Let you specify that value of a specific output field should be calculated using a specific input field

Attributes

final def renameSubtype[InSubtype <: In, OutSubtype <: Out]: PipeDerivationConfig.this.type

Let you specify that a specific output subtype is corresponding to a specific input subtype

Let you specify that a specific output subtype is corresponding to a specific input subtype

Attributes