33using System . Text . Json ;
44using System . Text . Json . Serialization ;
55
6- namespace AssemblyAI ;
6+ namespace AssemblyAI . Core ;
77
88/// <summary>
99/// Json collection converter.
@@ -21,35 +21,34 @@ public class CollectionItemSerializer<TDatatype, TConverterType>
2121 /// <param name="typeToConvert">Type to convert.</param>
2222 /// <param name="options">Serializer options.</param>
2323 /// <returns>Created object.</returns>
24- public override IEnumerable < TDatatype > Read (
24+ public override IEnumerable < TDatatype > ? Read (
2525 ref Utf8JsonReader reader ,
26- Type typeToConvert ,
26+ System . Type typeToConvert ,
2727 JsonSerializerOptions options
2828 )
2929 {
3030 if ( reader . TokenType == JsonTokenType . Null )
3131 {
32- return default ( IEnumerable < TDatatype > ) ;
32+ return default ;
3333 }
3434
35- JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions ( options ) ;
35+ var jsonSerializerOptions = new JsonSerializerOptions ( options ) ;
3636 jsonSerializerOptions . Converters . Clear ( ) ;
3737 jsonSerializerOptions . Converters . Add ( Activator . CreateInstance < TConverterType > ( ) ) ;
3838
39- List < TDatatype > returnValue = new List < TDatatype > ( ) ;
39+ var returnValue = new List < TDatatype > ( ) ;
4040
4141 while ( reader . TokenType != JsonTokenType . EndArray )
4242 {
4343 if ( reader . TokenType != JsonTokenType . StartArray )
4444 {
45- returnValue . Add (
46- ( TDatatype )
47- JsonSerializer . Deserialize (
48- ref reader ,
49- typeof ( TDatatype ) ,
50- jsonSerializerOptions
51- )
45+ var item = ( TDatatype ) (
46+ JsonSerializer . Deserialize ( ref reader , typeof ( TDatatype ) , jsonSerializerOptions )
47+ ?? throw new Exception (
48+ $ "Failed to deserialize collection item of type { typeof ( TDatatype ) } "
49+ )
5250 ) ;
51+ returnValue . Add ( item ) ;
5352 }
5453
5554 reader . Read ( ) ;
@@ -66,7 +65,7 @@ JsonSerializerOptions options
6665 /// <param name="options">Serializer options.</param>
6766 public override void Write (
6867 Utf8JsonWriter writer ,
69- IEnumerable < TDatatype > value ,
68+ IEnumerable < TDatatype > ? value ,
7069 JsonSerializerOptions options
7170 )
7271 {
@@ -82,7 +81,7 @@ JsonSerializerOptions options
8281
8382 writer . WriteStartArray ( ) ;
8483
85- foreach ( TDatatype data in value )
84+ foreach ( var data in value )
8685 {
8786 JsonSerializer . Serialize ( writer , data , jsonSerializerOptions ) ;
8887 }
0 commit comments