1.10.0
RiddlResult[T] ADT + BAST Fixes
RiddlResult
- New cross-platform sealed trait
RiddlResult[T]withSuccess[T]andFailurecases - Replaces
Either[Messages, T]as return type for allRiddlLibmethods map,flatMap,toEither,fromEitherfor interopast2bastnow returnsRiddlResult[Array[Byte]](surfaces errors instead of silent empty array)- TypeScript:
ParseResult<T>renamed toRiddlResult<T>(deprecated alias kept)
BAST Fixes
- BAST reader metadata flag handling fix
- BASTWriter node tracking improvements
- BinaryFormat header enhancements, new node type tags
- SharedBASTTest coverage for deserialization edge cases
Migration
Scala: Replace result.isRight/result.isLeft with pattern matching:
RiddlLib.parseString(source) match
case RiddlResult.Success(root) => // use root
case RiddlResult.Failure(errors) => // handle errorsOr use result.toEither for backward compat.
TypeScript: Replace ParseResult<T> with RiddlResult<T>. Deprecated alias still works.