Packages

c

io.scalaland.chimney.dsl

PartialTransformerDefinition

final class PartialTransformerDefinition[From, To, Overrides <: TransformerOverrides, Flags <: TransformerFlags] extends TransformerFlagsDsl[[Flags1]PartialTransformerDefinition[From, To, Overrides, Flags1], Flags] with TransformerDefinitionCommons[[Overrides1]PartialTransformerDefinition[From, To, Overrides1, Flags]] with WithRuntimeDataStore

Allows customization of io.scalaland.chimney.PartialTransformer derivation.

From

type of input value

To

type of output value

Overrides

type-level encoded config

Flags

type-level encoded flags

Since

0.7.0

Linear Supertypes
WithRuntimeDataStore, TransformerDefinitionCommons[[Overrides1]PartialTransformerDefinition[From, To, Overrides1, Flags]], TransformerFlagsDsl[[Flags1]PartialTransformerDefinition[From, To, Overrides, Flags1], Flags], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PartialTransformerDefinition
  2. WithRuntimeDataStore
  3. TransformerDefinitionCommons
  4. TransformerFlagsDsl
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new PartialTransformerDefinition(runtimeData: RuntimeDataStore)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. macro def buildTransformer[ImplicitScopeFlags <: TransformerFlags](implicit tc: TransformerConfiguration[ImplicitScopeFlags]): PartialTransformer[From, To]

    Build Partial Transformer using current configuration.

    Build Partial Transformer using current configuration.

    It runs macro that tries to derive instance of PartialTransformer[From, To]. When transformation can't be derived, it results with compilation error.

    returns

    io.scalaland.chimney.PartialTransformer type class instance

    Since

    0.7.0

  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  7. def disableBeanGetters: PartialTransformerDefinition[From, To, Overrides, Disable[BeanGetters, Flags]]

    Disable Java Beans naming convention (.getName, .isName) on From.

    Disable Java Beans naming convention (.getName, .isName) on From.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.6.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#reading-from-bean-getters for more details

  8. def disableBeanSetters: PartialTransformerDefinition[From, To, Overrides, Disable[BeanSetters, Flags]]

    Disable Java Beans naming convention (.setName(value)) on To.

    Disable Java Beans naming convention (.setName(value)) on To.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.6.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#writing-to-bean-setters for more details

  9. def disableCustomFieldNameComparison: PartialTransformerDefinition[From, To, Overrides, Disable[FieldNameComparison[_], Flags]]

    Disable any custom way of comparing if source fields' names and target fields' names are matching.

    Disable any custom way of comparing if source fields' names and target fields' names are matching.

    Definition Classes
    TransformerFlagsDsl
    Since

    1.0.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#customizing-field-name-matching for more details

  10. def disableCustomSubtypeNameComparison: PartialTransformerDefinition[From, To, Overrides, Disable[SubtypeNameComparison[_], Flags]]

    Disable any custom way of comparing if source subtypes' names and target fields' names are matching.

    Disable any custom way of comparing if source subtypes' names and target fields' names are matching.

    Definition Classes
    TransformerFlagsDsl
    Since

    1.0.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#customizing-subtype-name-matching for more details

  11. def disableDefaultValues: PartialTransformerDefinition[From, To, Overrides, Disable[DefaultValues, Flags]]

    Fail derivation if From type is missing field even if To has default value for it.

    Fail derivation if From type is missing field even if To has default value for it.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.1.9

    See also

    https://chimney.readthedocs.io/supported-transformations/#allowing-fallback-to-the-constructors-default-values for more details

  12. def disableIgnoreUnmatchedBeanSetters: PartialTransformerDefinition[From, To, Overrides, Disable[BeanSettersIgnoreUnmatched, Flags]]

    Disable not failing compilation on unresolved Java Beans naming convention (.setName(value)) in To.

    Disable not failing compilation on unresolved Java Beans naming convention (.setName(value)) in To.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.8.3

    See also

    https://chimney.readthedocs.io/supported-transformations/#ignoring-unmatched-bean-setters for more details

  13. def disableImplicitConflictResolution: PartialTransformerDefinition[From, To, Overrides, Disable[ImplicitConflictResolution[_], Flags]]

    Disable any implicit conflict resolution preference that was set previously.

    Disable any implicit conflict resolution preference that was set previously.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.7.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#resolving-priority-of-implicit-total-vs-partial-transformers for more details

  14. def disableInheritedAccessors: PartialTransformerDefinition[From, To, Overrides, Disable[InheritedAccessors, Flags]]

    Disable inherited accessors lookup that was previously enabled by enableInheritedAccessors

    Disable inherited accessors lookup that was previously enabled by enableInheritedAccessors

    Definition Classes
    TransformerFlagsDsl
    Since

    0.8.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#reading-from-inherited-valuesmethods for more details

  15. def disableMacrosLogging: PartialTransformerDefinition[From, To, Overrides, Disable[MacrosLogging, Flags]]

    Disable printing the logs from the derivation process.

    Disable printing the logs from the derivation process.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.8.0

    See also

    https://chimney.readthedocs.io/troubleshooting/#debugging-macros for more details

  16. def disableMethodAccessors: PartialTransformerDefinition[From, To, Overrides, Disable[MethodAccessors, Flags]]

    Disable method accessors lookup that was previously enabled by enableMethodAccessors

    Disable method accessors lookup that was previously enabled by enableMethodAccessors

    Definition Classes
    TransformerFlagsDsl
    Since

    0.5.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#reading-from-methods for more details

  17. def disableNonUnitBeanSetters: PartialTransformerDefinition[From, To, Overrides, Disable[NonUnitBeanSetters, Flags]]

    Enable calling unary non-Unit methods with Java Beans naming convention (.setName(value)) in To.

    Enable calling unary non-Unit methods with Java Beans naming convention (.setName(value)) in To.

    Definition Classes
    TransformerFlagsDsl
    Since

    1.0.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#writing-to-non-unit-bean-setters for more details

  18. def disableOptionDefaultsToNone: PartialTransformerDefinition[From, To, Overrides, Disable[OptionDefaultsToNone, Flags]]

    Disable None fallback value for optional fields in To.

    Disable None fallback value for optional fields in To.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.6.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#allowing-fallback-to-none-as-the-constructors-argument for more details

  19. def disablePartialUnwrapsOption: PartialTransformerDefinition[From, To, Overrides, Disable[PartialUnwrapsOption, Flags]]

    Disable safe Option unwrapping by PartialTransformer - each Option to non-Option has to be handled manually.

    Disable safe Option unwrapping by PartialTransformer - each Option to non-Option has to be handled manually.

    Definition Classes
    TransformerFlagsDsl
    Since

    1.0.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#controlling-automatic-option-unwrapping for more details

  20. def enableBeanGetters: PartialTransformerDefinition[From, To, Overrides, Enable[BeanGetters, Flags]]

    Enable Java Beans naming convention (.getName, .isName) on From.

    Enable Java Beans naming convention (.getName, .isName) on From.

    By default only Scala conversions (.name) are allowed.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.2.1

    See also

    https://chimney.readthedocs.io/supported-transformations/#reading-from-bean-getters for more details

  21. def enableBeanSetters: PartialTransformerDefinition[From, To, Overrides, Enable[BeanSetters, Flags]]

    Enable Java Beans naming convention (.setName(value)) on To.

    Enable Java Beans naming convention (.setName(value)) on To.

    By default only Scala conversions (.copy(name = value)) are allowed.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.2.1

    See also

    https://chimney.readthedocs.io/supported-transformations/#writing-to-bean-setters for more details

  22. def enableCustomFieldNameComparison[C <: TransformedNamesComparison with Singleton](namesComparison: C): PartialTransformerDefinition[From, To, Overrides, Enable[FieldNameComparison[C], Flags]]

    Enable custom way of comparing if source fields' names and target fields' names are matching.

    Enable custom way of comparing if source fields' names and target fields' names are matching.

    namesComparison

    parameter specifying how names should be compared by macro

    Definition Classes
    TransformerFlagsDsl
    Since

    1.0.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#customizing-field-name-matching for more details

  23. def enableCustomSubtypeNameComparison[C <: TransformedNamesComparison with Singleton](namesComparison: C): PartialTransformerDefinition[From, To, Overrides, Enable[SubtypeNameComparison[C], Flags]]

    Enable custom way of comparing if source subtypes' names and target fields' names are matching.

    Enable custom way of comparing if source subtypes' names and target fields' names are matching.

    namesComparison

    parameter specifying how names should be compared by macro

    Definition Classes
    TransformerFlagsDsl
    Since

    1.0.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#customizing-subtype-name-matching for more details

  24. def enableDefaultValues: PartialTransformerDefinition[From, To, Overrides, Enable[DefaultValues, Flags]]

    Enable fallback to default case class values in To type.

    Enable fallback to default case class values in To type.

    By default in such case derivation will fail. By enabling this flag, derivation will fallback to default value.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.6.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#allowing-fallback-to-the-constructors-default-values for more details

  25. def enableIgnoreUnmatchedBeanSetters: PartialTransformerDefinition[From, To, Overrides, Enable[BeanSettersIgnoreUnmatched, Flags]]

    Enable not failing compilation on unresolved Java Beans naming convention (.setName(value)) in To.

    Enable not failing compilation on unresolved Java Beans naming convention (.setName(value)) in To.

    By default presence of setters (.setName(value)) fails compilation unless setters are enabled and matched with a source field or provided valued.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.8.3

    See also

    https://chimney.readthedocs.io/supported-transformations/#ignoring-unmatched-bean-setters for more details

  26. def enableImplicitConflictResolution[P <: ImplicitTransformerPreference](preference: P): PartialTransformerDefinition[From, To, Overrides, Enable[ImplicitConflictResolution[P], Flags]]

    Enable conflict resolution when both Transformer and PartialTransformer are available in the implicit scope.

    Enable conflict resolution when both Transformer and PartialTransformer are available in the implicit scope.

    preference

    parameter specifying which implicit transformer to pick in case of conflict

    Definition Classes
    TransformerFlagsDsl
    Since

    0.7.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#resolving-priority-of-implicit-total-vs-partial-transformers for more details

  27. def enableInheritedAccessors: PartialTransformerDefinition[From, To, Overrides, Enable[InheritedAccessors, Flags]]

    Enable lookup in definitions inherited from supertype.

    Enable lookup in definitions inherited from supertype.

    By default only values defined directly in the type are considered. With this flag supertype methods would not be filtered out

    Definition Classes
    TransformerFlagsDsl
    Since

    0.8.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#reading-from-inherited-valuesmethods for more details

  28. def enableMacrosLogging: PartialTransformerDefinition[From, To, Overrides, Enable[MacrosLogging, Flags]]

    Enable printing the logs from the derivation process.

    Enable printing the logs from the derivation process.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.8.0

    See also

    https://chimney.readthedocs.io/troubleshooting/#debugging-macros for more details

  29. def enableMethodAccessors: PartialTransformerDefinition[From, To, Overrides, Enable[MethodAccessors, Flags]]

    Enable values to be supplied from method calls.

    Enable values to be supplied from method calls. Source method must be public and have no parameter list.

    By default this is disabled because method calls may perform side effects (e.g. mutations)

    Definition Classes
    TransformerFlagsDsl
    Since

    0.6.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#reading-from-methods for more details

  30. def enableNonUnitBeanSetters: PartialTransformerDefinition[From, To, Overrides, Enable[NonUnitBeanSetters, Flags]]

    Enable calling unary non-Unit methods with Java Beans naming convention (.setName(value)) in To.

    Enable calling unary non-Unit methods with Java Beans naming convention (.setName(value)) in To.

    By default only methods returning Unit (setName(value): Unit) could be considered setters.

    Definition Classes
    TransformerFlagsDsl
    Since

    1.0.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#writing-to-non-unit-bean-setters for more details

  31. def enableOptionDefaultsToNone: PartialTransformerDefinition[From, To, Overrides, Enable[OptionDefaultsToNone, Flags]]

    Sets target value of optional field to None if field is missing from source type From.

    Sets target value of optional field to None if field is missing from source type From.

    By default in such case compilation fails.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.2.1

    See also

    https://chimney.readthedocs.io/supported-transformations/#allowing-fallback-to-none-as-the-constructors-argument for more details

  32. def enablePartialUnwrapsOption: PartialTransformerDefinition[From, To, Overrides, Enable[PartialUnwrapsOption, Flags]]

    Enable safe Option unwrapping by PartialTransformer - Option is automatically unwrapped to non-Option values, None is treated as empty value errors.

    Enable safe Option unwrapping by PartialTransformer - Option is automatically unwrapped to non-Option values, None is treated as empty value errors.

    This is the default behavior.

    Definition Classes
    TransformerFlagsDsl
    Since

    1.0.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#controlling-automatic-option-unwrapping for more details

  33. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  34. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  35. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  36. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  37. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  38. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  39. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  40. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  41. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  42. val runtimeData: RuntimeDataStore

    runtime storage for values and functions that transformer definition is customized with

    runtime storage for values and functions that transformer definition is customized with

    Definition Classes
    PartialTransformerDefinition → TransformerDefinitionCommons
  43. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  44. def toString(): String
    Definition Classes
    AnyRef → Any
  45. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  46. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  47. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  48. macro def withConstructor[Ctor](f: Ctor)(implicit ev: Of[Ctor, To]): PartialTransformerDefinition[From, To, _ <: TransformerOverrides, Flags]

    Use f instead of the primary constructor to construct the To value.

    Use f instead of the primary constructor to construct the To value.

    Macro will read the names of Eta-expanded method's/lambda's parameters and try to match them with From getters.

    Values for each parameter can be provided the same way as if they were normal constructor's arguments.

    Ctor

    type of the Eta-expanded method/lambda which should return To

    f

    method name or lambda which constructs To

    returns

    io.scalaland.chimney.dsl.PartialTransformerDefinition

    Since

    0.8.4

    See also

    https://chimney.readthedocs.io/supported-transformations/#types-with-manually-provided-constructors for more details

  49. macro def withConstructorEither[Ctor](f: Ctor)(implicit ev: Of[Ctor, Either[String, To]]): PartialTransformerDefinition[From, To, _ <: TransformerOverrides, Flags]

    Use f instead of the primary constructor to parse into Either[String, To] value.

    Use f instead of the primary constructor to parse into Either[String, To] value.

    Macro will read the names of Eta-expanded method's/lambda's parameters and try to match them with From getters.

    Values for each parameter can be provided the same way as if they were normal constructor's arguments.

    Ctor

    type of the Eta-expanded method/lambda which should return Either[String, To]

    f

    method name or lambda which constructs Either[String, To]

    returns

    io.scalaland.chimney.dsl.PartialTransformerDefinition

    Since

    1.0.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#types-with-manually-provided-constructors for more details

  50. macro def withConstructorPartial[Ctor](f: Ctor)(implicit ev: Of[Ctor, Result[To]]): PartialTransformerDefinition[From, To, _ <: TransformerOverrides, Flags]

    Use f instead of the primary constructor to parse into partial.Result[To] value.

    Use f instead of the primary constructor to parse into partial.Result[To] value.

    Macro will read the names of Eta-expanded method's/lambda's parameters and try to match them with From getters.

    Values for each parameter can be provided the same way as if they were normal constructor's arguments.

    Ctor

    type of the Eta-expanded method/lambda which should return partial.Result[To]

    f

    method name or lambda which constructs partial.Result[To]

    returns

    io.scalaland.chimney.dsl.PartialTransformerDefinition

    Since

    0.8.4

    See also

    https://chimney.readthedocs.io/supported-transformations/#types-with-manually-provided-constructors for more details

  51. macro def withEnumCaseHandled[Subtype](f: (Subtype) => To): PartialTransformerDefinition[From, To, _ <: TransformerOverrides, Flags]

    Alias to withSealedSubtypeHandled.

    Since

    1.0.0

  52. macro def withEnumCaseHandledPartial[Subtype](f: (Subtype) => Result[To]): PartialTransformerDefinition[From, To, _ <: TransformerOverrides, Flags]

    Alias to withSealedSubtypeHandledPartial.

    Since

    1.0.0

  53. macro def withFieldComputed[T, U](selector: (To) => T, f: (From) => U)(implicit ev: <:<[U, T]): PartialTransformerDefinition[From, To, _ <: TransformerOverrides, Flags]

    Use function f to compute value of field picked using selector.

    Use function f to compute value of field picked using selector.

    By default if From is missing field picked by selector compilation fails.

    T

    type of target field

    U

    type of computed value

    selector

    target field in To, defined like _.name

    f

    function used to compute value of the target field

    returns

    io.scalaland.chimney.dsl.PartialTransformerDefinition

    Since

    0.7.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#wiring-the-constructors-parameter-to-computed-value for more details

  54. macro def withFieldComputedPartial[T, U](selector: (To) => T, f: (From) => Result[U])(implicit ev: <:<[U, T]): PartialTransformerDefinition[From, To, _ <: TransformerOverrides, Flags]

    Use function f to compute partial result for field picked using selector.

    Use function f to compute partial result for field picked using selector.

    By default if From is missing field picked by selector compilation fails.

    T

    type of target field

    U

    type of computed value

    selector

    target field in To, defined like _.name

    f

    function used to compute value of the target field

    returns

    io.scalaland.chimney.dsl.PartialTransformerDefinition

    Since

    0.7.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#wiring-the-constructors-parameter-to-computed-value for more details

  55. macro def withFieldConst[T, U](selector: (To) => T, value: U)(implicit ev: <:<[U, T]): PartialTransformerDefinition[From, To, _ <: TransformerOverrides, Flags]

    Use provided value for field picked using selector.

    Use provided value for field picked using selector.

    By default if From is missing field picked by selector, compilation fails.

    T

    type of target field

    U

    type of provided value

    selector

    target field in To, defined like _.name

    value

    constant value to use for the target field

    returns

    io.scalaland.chimney.dsl.PartialTransformerDefinition

    Since

    0.7.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#wiring-the-constructors-parameter-to-a-provided-value for more details

  56. macro def withFieldConstPartial[T, U](selector: (To) => T, value: Result[U])(implicit ev: <:<[U, T]): PartialTransformerDefinition[From, To, _ <: TransformerOverrides, Flags]

    Use provided partial result value for field picked using selector.

    Use provided partial result value for field picked using selector.

    By default if From is missing field picked by selector, compilation fails.

    T

    type of target field

    U

    type of computed value

    selector

    target field in To, defined like _.name

    value

    constant value to use for the target field

    returns

    io.scalaland.chimney.dsl.PartialTransformerDefinition

    Since

    0.7.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#wiring-the-constructors-parameter-to-a-provided-value for more details

  57. macro def withFieldRenamed[T, U](selectorFrom: (From) => T, selectorTo: (To) => U): PartialTransformerDefinition[From, To, _ <: TransformerOverrides, Flags]

    Use selectorFrom field in From to obtain the value of selectorTo field in To

    Use selectorFrom field in From to obtain the value of selectorTo field in To

    By default if From is missing field picked by selectorTo compilation fails.

    T

    type of source field

    U

    type of target field

    selectorFrom

    source field in From, defined like _.originalName

    selectorTo

    target field in To, defined like _.newName

    returns

    io.scalaland.chimney.dsl.PartialTransformerDefinition

    Since

    0.7.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#wiring-the-constructors-parameter-to-its-source-field for more details

  58. macro def withSealedSubtypeHandled[Subtype](f: (Subtype) => To): PartialTransformerDefinition[From, To, _ <: TransformerOverrides, Flags]

    Use f to calculate the unmatched subtype when mapping one sealed/enum into another.

    Use f to calculate the unmatched subtype when mapping one sealed/enum into another.

    By default if mapping one coproduct in From into another coproduct in To derivation expects that coproducts to have matching names of its components, and for every component in To field's type there is matching component in From type. If some component is missing it fails compilation unless provided replacement with this operation.

    For convenience/readability withEnumCaseHandled alias can be used (e.g. for Scala 3 enums or Java enums).

    It differs from withFieldComputed(_.matching[Subtype], src => ...), since withSealedSubtypeHandled matches on From subtype, while .matching[Subtype] matches on To value's piece.

    Subtype

    type of sealed/enum instance

    f

    function to calculate values of components that cannot be mapped automatically

    returns

    io.scalaland.chimney.dsl.PartialTransformerDefinition

    Since

    1.0.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#handling-a-specific-sealed-subtype-with-a-computed-value for more details

  59. macro def withSealedSubtypeHandledPartial[Subtype](f: (Subtype) => Result[To]): PartialTransformerDefinition[From, To, _ <: TransformerOverrides, Flags]

    Use f to calculate the unmatched subtype's partial.Result when mapping one sealed/enum into another.

    Use f to calculate the unmatched subtype's partial.Result when mapping one sealed/enum into another.

    By default if mapping one coproduct in From into another coproduct in To derivation expects that coproducts to have matching names of its components, and for every component in To field's type there is matching component in From type. If some component is missing it fails compilation unless provided replacement with this operation.

    For convenience/readability withEnumCaseHandledPartial alias can be used (e.g. for Scala 3 enums or Java enums).

    It differs from withFieldComputedPartial(_.matching[Subtype], src => ...), since withSealedSubtypeHandled matches on From subtype, while .matching[Subtype] matches on To value's piece.

    Subtype

    type of sealed/enum instance

    f

    function to calculate values of components that cannot be mapped automatically

    returns

    io.scalaland.chimney.dsl.PartialTransformerDefinition

    Since

    0.7.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#handling-a-specific-sealed-subtype-with-a-computed-value for more details

Deprecated Value Members

  1. macro def withCoproductInstance[Subtype](f: (Subtype) => To): PartialTransformerDefinition[From, To, _ <: TransformerOverrides, Flags]

    Renamed to withSealedSubtypeHandled.

    Annotations
    @deprecated
    Deprecated

    (Since version 1.0.0) Use .withSealedSubtypeHandled or .withEnumCaseHandled for more clarity

    Since

    0.7.0

  2. macro def withCoproductInstancePartial[Subtype](f: (Subtype) => Result[To]): PartialTransformerDefinition[From, To, _ <: TransformerOverrides, Flags]

    Renamed to withSealedSubtypeHandledPartial.

    Annotations
    @deprecated
    Deprecated

    (Since version 1.0.0) Use .withSealedSubtypeHandledPartial or .withEnumCaseHandledPartial for more clarity

    Since

    0.7.0

Inherited from WithRuntimeDataStore

Inherited from TransformerDefinitionCommons[[Overrides1]PartialTransformerDefinition[From, To, Overrides1, Flags]]

Inherited from TransformerFlagsDsl[[Flags1]PartialTransformerDefinition[From, To, Overrides, Flags1], Flags]

Inherited from AnyRef

Inherited from Any

Ungrouped