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