From d6bebdb0980c25f0d7b19febfc0a3e361a3509d5 Mon Sep 17 00:00:00 2001 From: Scala Steward Date: Mon, 30 Sep 2024 15:02:22 +0000 Subject: [PATCH 1/2] Update scala3-library to 3.3.4 --- mill-build/src/millbuild/settings/ScalaSettings.scala | 2 +- project/deps.sc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mill-build/src/millbuild/settings/ScalaSettings.scala b/mill-build/src/millbuild/settings/ScalaSettings.scala index dad0d2225..141e11892 100644 --- a/mill-build/src/millbuild/settings/ScalaSettings.scala +++ b/mill-build/src/millbuild/settings/ScalaSettings.scala @@ -25,7 +25,7 @@ object ScalaSettings { implicit val rw: upickle.default.ReadWriter[ScalaSettings] = upickle.default.macroRW val defaultScala213Version = "2.13.15" - val defaultScala3xVersion = "3.3.3" + val defaultScala3xVersion = "3.3.4" val defaultCrossScalaVersions: List[String] = if (devMode) List(defaultScala3xVersion) else List(defaultScala3xVersion) } diff --git a/project/deps.sc b/project/deps.sc index 93464a5ed..da83a880f 100644 --- a/project/deps.sc +++ b/project/deps.sc @@ -242,7 +242,7 @@ object ScalaVersions { import DevMode._ val all = if (devMode) Seq(scala3x) else Seq(scala213, scala3x) def scala213 = "2.13.15" - def scala3x = "3.3.3" + def scala3x = "3.3.4" def scalaJSVersion = "1.16.0" def scalaNativeVersion = "0.4.17" From 357309540fc34442fec4682dde4515ad5aab3d94 Mon Sep 17 00:00:00 2001 From: MichelleChan <6752211+michelchan@users.noreply.github.com> Date: Thu, 16 Jan 2025 16:08:47 -0500 Subject: [PATCH 2/2] Moving custom deriver into class --- .../datamodel/DatamodelExtensions.scala | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/morphir/src-3/org/finos/morphir/datamodel/DatamodelExtensions.scala b/morphir/src-3/org/finos/morphir/datamodel/DatamodelExtensions.scala index bdc557c33..dceb73fba 100644 --- a/morphir/src-3/org/finos/morphir/datamodel/DatamodelExtensions.scala +++ b/morphir/src-3/org/finos/morphir/datamodel/DatamodelExtensions.scala @@ -3,16 +3,18 @@ package org.finos.morphir.datamodel import scala.deriving.* import org.finos.morphir.datamodel.CustomDeriver +class AliasedCustomDeriver[A](da: CustomDeriver[A], alias: String) extends CustomDeriver[A] { + override def derive(value: A): Data = + Data.Aliased(da.derive(value), this.concept) + + override def concept: Concept.Alias = { + val (pname, _, _) = DeriverMacros.summonNamespaceOrFail + Concept.Alias(pname % alias, da.concept) + } +} + extension [A](da: CustomDeriver[A]) - inline def aliasedAs(alias: String) = - new CustomDeriver[A] { - override def derive(value: A): Data = - Data.Aliased(da.derive(value), this.concept) - override def concept: Concept.Alias = { - val (pname, _, _) = DeriverMacros.summonNamespaceOrFail - Concept.Alias(pname % alias, da.concept) - } - } + inline def aliasedAs(alias: String) = new AliasedCustomDeriver[A](da, alias) extension (r: Data.Record.type) { inline def withImplicitFQN(name: String, fieldsRaw: (String, Data)*): Data.Record = {