Skip to content

Commit c408ecd

Browse files
committed
Release FsCodec.SystemTextJson 3.1.0-rc.5
Add Serdes.Deserialize(SystemTextJson.Encoded)
1 parent bf53f2e commit c408ecd

File tree

3 files changed

+7
-3
lines changed

3 files changed

+7
-3
lines changed

src/FsCodec.SystemTextJson/Encoding.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ module private Impl =
3434
use output = new System.IO.MemoryStream()
3535
compressedBytes |> alg output
3636
output.ToArray() |> post
37-
let decode_ direct expand (struct (encoding, data: JsonElement) as x) =
37+
let decode_ direct expand struct (encoding, data: JsonElement) =
3838
match encoding, data.ValueKind with
3939
| Encoding.Deflate, JsonValueKind.String -> data.GetBytesFromBase64() |> expand inflateTo
4040
| Encoding.Brotli, JsonValueKind.String -> data.GetBytesFromBase64() |> expand brotliDecompressTo

src/FsCodec.SystemTextJson/FsCodec.SystemTextJson.fsproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414
<Compile Include="RejectNullStringConverter.fs" />
1515
<Compile Include="UnionOrTypeSafeEnumConverterFactory.fs" />
1616
<Compile Include="Options.fs" />
17+
<Compile Include="Interop.fs" />
18+
<Compile Include="Encoding.fs" />
1719
<Compile Include="Serdes.fs" />
1820
<Compile Include="Codec.fs" />
1921
<Compile Include="CodecJsonElement.fs" />
20-
<Compile Include="Interop.fs" />
2122
<Compile Include="StringIdConverter.fs" />
22-
<Compile Include="Encoding.fs" />
2323
</ItemGroup>
2424

2525
<ItemGroup>

src/FsCodec.SystemTextJson/Serdes.fs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ type Serdes(options: JsonSerializerOptions) =
4747
member x.Deserialize<'T>(utf8json: System.ReadOnlyMemory<byte>): 'T =
4848
x.Deserialize<'T>(utf8json.Span)
4949

50+
/// Deserializes value of given type from a (potentially compressed) Encoded JsonElement-based value
51+
member x.Deserialize<'T>(encoded: Encoded): 'T =
52+
x.Deserialize<'T>(Encoding.ToJsonElement encoded)
53+
5054
/// Deserializes value of given type from a (potentially compressed) Encoded value
5155
member x.Deserialize<'T>(utf8Encoded: FsCodec.Encoded): 'T =
5256
x.Deserialize<'T>(FsCodec.Encoding.ToBlob utf8Encoded)

0 commit comments

Comments
 (0)