Skip to content

Commit 01abe09

Browse files
committed
trim workaround
1 parent a0506c3 commit 01abe09

1 file changed

Lines changed: 11 additions & 11 deletions

File tree

src/FSharp.SystemTextJson/Collection.fs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ type JsonListConverter<'T>(fsOptions) =
1212
let needsNullChecking = not tIsNullable && not tType.IsValueType
1313

1414
override _.Read(reader, _typeToConvert, options) =
15-
let array = JsonSerializer.Deserialize<'T[]>(&reader, options)
15+
let array = JsonSerializer.Deserialize(&reader, typeof<'T[]>, options) :?> 'T[]
1616
if needsNullChecking then
1717
for elem in array do
1818
if isNull (box elem) then
@@ -21,7 +21,7 @@ type JsonListConverter<'T>(fsOptions) =
2121
array |> List.ofArray
2222

2323
override _.Write(writer, value, options) =
24-
JsonSerializer.Serialize<seq<'T>>(writer, value, options)
24+
JsonSerializer.Serialize(writer, value, typeof<seq<'T>>, options)
2525

2626
type JsonListConverter(fsOptions) =
2727
inherit JsonConverterFactory()
@@ -53,7 +53,7 @@ type JsonSetConverter<'T when 'T : comparison>(fsOptions) =
5353
match reader.TokenType with
5454
| JsonTokenType.EndArray -> acc
5555
| _ ->
56-
let elt = JsonSerializer.Deserialize<'T>(&reader, options)
56+
let elt = JsonSerializer.Deserialize(&reader, typeof<'T>, options) :?> 'T
5757
read (Set.add elt acc) &reader options
5858

5959
override _.Read(reader, typeToConvert, options) =
@@ -67,7 +67,7 @@ type JsonSetConverter<'T when 'T : comparison>(fsOptions) =
6767
set
6868

6969
override _.Write(writer, value, options) =
70-
JsonSerializer.Serialize<seq<'T>>(writer, value, options)
70+
JsonSerializer.Serialize(writer, value, typeof<seq<'T>>, options)
7171

7272
type JsonSetConverter(fsOptions) =
7373
inherit JsonConverterFactory()
@@ -99,7 +99,7 @@ type JsonStringMapConverter<'V>() =
9999
| JsonTokenType.EndObject -> acc
100100
| JsonTokenType.PropertyName ->
101101
let key = reader.GetString()
102-
let value = JsonSerializer.Deserialize<'V>(&reader, options)
102+
let value = JsonSerializer.Deserialize(&reader, typeof<'V>, options) :?> 'V
103103
read (Map.add key value acc) &reader options
104104
| _ ->
105105
fail "JSON field" &reader ty
@@ -116,7 +116,7 @@ type JsonStringMapConverter<'V>() =
116116
| null -> kv.Key
117117
| p -> p.ConvertName kv.Key
118118
writer.WritePropertyName(k)
119-
JsonSerializer.Serialize<'V>(writer, kv.Value, options)
119+
JsonSerializer.Serialize(writer, kv.Value, typeof<'V>, options)
120120
writer.WriteEndObject()
121121

122122
type JsonWrappedStringMapConverter<'K, 'V when 'K : comparison>() =
@@ -135,7 +135,7 @@ type JsonWrappedStringMapConverter<'K, 'V when 'K : comparison>() =
135135
| JsonTokenType.EndObject -> acc
136136
| JsonTokenType.PropertyName ->
137137
let key = reader.GetString()
138-
let value = JsonSerializer.Deserialize<'V>(&reader, options)
138+
let value = JsonSerializer.Deserialize(&reader, typeof<'V>, options) :?> 'V
139139
read (Map.add (wrap [|key|] :?> 'K) value acc) &reader options
140140
| _ ->
141141
fail "JSON field" &reader ty
@@ -167,9 +167,9 @@ type JsonMapConverter<'K, 'V when 'K : comparison>() =
167167
| JsonTokenType.EndArray -> acc
168168
| JsonTokenType.StartArray ->
169169
reader.Read() |> ignore
170-
let key = JsonSerializer.Deserialize<'K>(&reader, options)
170+
let key = JsonSerializer.Deserialize(&reader, typeof<'K>, options) :?> 'K
171171
reader.Read() |> ignore
172-
let value = JsonSerializer.Deserialize<'V>(&reader, options)
172+
let value = JsonSerializer.Deserialize(&reader, typeof<'V>, options) :?> 'V
173173
readExpecting JsonTokenType.EndArray "JSON array" &reader ty
174174
read (Map.add key value acc) &reader options
175175
| _ ->
@@ -183,8 +183,8 @@ type JsonMapConverter<'K, 'V when 'K : comparison>() =
183183
writer.WriteStartArray()
184184
for kv in value do
185185
writer.WriteStartArray()
186-
JsonSerializer.Serialize<'K>(writer, kv.Key, options)
187-
JsonSerializer.Serialize<'V>(writer, kv.Value, options)
186+
JsonSerializer.Serialize(writer, kv.Key, typeof<'K>, options)
187+
JsonSerializer.Serialize(writer, kv.Value, typeof<'V>, options)
188188
writer.WriteEndArray()
189189
writer.WriteEndArray()
190190

0 commit comments

Comments
 (0)