diff --git a/src/Kuddle.Net/Serialization/KdlValueConverter.cs b/src/Kuddle.Net/Serialization/KdlValueConverter.cs index d8039fc..1c1d2fc 100644 --- a/src/Kuddle.Net/Serialization/KdlValueConverter.cs +++ b/src/Kuddle.Net/Serialization/KdlValueConverter.cs @@ -55,6 +55,14 @@ public static bool TryFromKdl(KdlValue kdlValue, Type targetType, out object? va return kdlValue.TryGetTimeOnly(out var to1) && (value = to1) is not null; if (underlying == typeof(TimeSpan)) return kdlValue.TryGetTimeSpan(out var ts) && (value = ts) is not null; + + //4. AST + if (underlying == typeof(KdlValue)) + { + value = kdlValue; + return true; + } + return false; } @@ -89,6 +97,7 @@ public static bool TryToKdl(object? input, out KdlValue kdlValue, string? typeAn TimeOnly t => KdlValue.From(t), TimeSpan ts => KdlValue.From(ts), Enum e => KdlValue.From(e), + KdlValue kv => kv, _ => null!, };