Skip to content

Commit

Permalink
fix: Tag compactness + cross project tests (#758)
Browse files Browse the repository at this point in the history
  • Loading branch information
hearnadam authored Oct 16, 2024
1 parent 1b5acad commit 7d16a2e
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 35 deletions.
32 changes: 32 additions & 0 deletions kyo-core/shared/src/test/scala/kyo/TagCompactTest.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package kyo

import kyo.kernel.*
import org.scalatest.NonImplicitAssertions
import org.scalatest.compatible.Assertion

class TagCompactTest extends Test:

"Tag is compact" - {
"Tag[Effect]" in {
assert(Tag[Effect].raw == "!=q;!T0;!U1;!V2;")
}
"Tag[ArrowEffect[Const[Unit], Const[Unit]]]" in {
assert(Tag[ArrowEffect[Const[Unit], Const[Unit]]].raw == "!?s;!=q;!T0;!U1;!V2;[-!+a;!W3;!U1;!V2;,+!+a;!W3;!U1;!V2;]")
}
"Tag[ContextEffect[Int]]" in {
assert(Tag[ContextEffect[Int]].raw == "!>r;!=q;!T0;!U1;!V2;[+!Y5;!W3;!U1;!V2;]")
}
"Tag[Abort[Int]]" in {
assert(Tag[Abort[Int]].raw == "!@t;!?s;!=q;!T0;!U1;!V2;[-!Y5;!W3;!U1;!V2;]")
}
"Tag[Async.Join]" in {
assert(Tag[Async.Join].raw == "!Au;!?s;!=q;!T0;!U1;!V2;")
}
"Tag[Emit[Int]]" in {
assert(Tag[Emit[Int]].raw == "!Bv;!?s;!=q;!T0;!U1;!V2;[=!Y5;!W3;!U1;!V2;]")
}
"Tag[IO]" in {
assert(Tag[IO].raw == "!Cw;!?s;!=q;!T0;!U1;!V2;")
}
}
end TagCompactTest
71 changes: 36 additions & 35 deletions kyo-data/shared/src/main/scala/kyo/internal/TagMacro.scala
Original file line number Diff line number Diff line change
Expand Up @@ -133,41 +133,42 @@ object TagMacro:
end concat

val toCompact = Map(
"java.lang.Object" -> "0",
"scala.Matchable" -> "1",
"scala.Any" -> "2",
"scala.AnyVal" -> "3",
"java.lang.String" -> "4",
"scala.Int" -> "5",
"scala.Long" -> "6",
"scala.Float" -> "7",
"scala.Double" -> "8",
"scala.Boolean" -> "9",
"scala.Unit" -> "a",
"scala.Option" -> "b",
"scala.Some" -> "c",
"scala.None" -> "d",
"scala.Left" -> "e",
"scala.Right" -> "f",
"scala.Tuple2" -> "g",
"scala.collection.immutable.List" -> "h",
"scala.collection.immutable.Nil" -> "i",
"scala.collection.immutable.Map" -> "j",
"scala.Nothing" -> "k",
"java.lang.CharSequence" -> "l",
"java.lang.Comparable" -> "m",
"java.io.Serializable" -> "n",
"scala.Product" -> "o",
"scala.Equals" -> "p",
"kyo.core$.Effect" -> "q",
"kyo.fibersInternal$.FiberGets" -> "r",
"kyo.Streams" -> "s",
"kyo.aborts$package$.Aborts$.internal$.DoAbort" -> "t",
"kyo.zios$package$.ZIOs$.internal$.Tasks" -> "u",
"kyo.IOs" -> "v",
"scala.Char" -> "x",
"java.lang.Throwable" -> "y",
"java.lang.Exception" -> "z"
"java.lang.Object" -> "0",
"scala.Matchable" -> "1",
"scala.Any" -> "2",
"scala.AnyVal" -> "3",
"java.lang.String" -> "4",
"scala.Int" -> "5",
"scala.Long" -> "6",
"scala.Float" -> "7",
"scala.Double" -> "8",
"scala.Boolean" -> "9",
"scala.Unit" -> "a",
"scala.Option" -> "b",
"scala.Some" -> "c",
"scala.None" -> "d",
"scala.Left" -> "e",
"scala.Right" -> "f",
"scala.Tuple2" -> "g",
"scala.collection.immutable.List" -> "h",
"scala.collection.immutable.Nil" -> "i",
"scala.collection.immutable.Map" -> "j",
"scala.Nothing" -> "k",
"java.lang.CharSequence" -> "l",
"java.lang.Comparable" -> "m",
"java.io.Serializable" -> "n",
"scala.Product" -> "o",
"scala.Equals" -> "p",
"kyo.kernel.Effect" -> "q",
"kyo.kernel.ContextEffect" -> "r",
"kyo.kernel.ArrowEffect" -> "s",
"kyo.Abort" -> "t",
"kyo.Async$package$.Async$.Join" -> "u",
"kyo.Emit" -> "v",
"kyo.IO" -> "w",
"scala.Char" -> "x",
"java.lang.Throwable" -> "y",
"java.lang.Exception" -> "z"
)

val fromCompact = toCompact.map(_.swap).toMap
Expand Down

0 comments on commit 7d16a2e

Please sign in to comment.