11using System ;
2+ using System . Collections . Generic ;
23using System . IO ;
34using DynamoDBGenerator . Converters ;
45using DynamoDBGenerator . Converters . Internal ;
6+ using DynamoDBGenerator . Internal ;
57
68namespace DynamoDBGenerator . Options ;
79
@@ -19,27 +21,29 @@ public class AttributeValueConverters
1921 /// <summary>
2022 /// The <see cref="DateTime"/> converter.
2123 /// </summary>
22- public IValueTypeConverter < DateTime > DateTimeConverter { get ; protected init ; } = new ISO8601DateTimeConverter ( ) ;
24+ public IValueTypeConverter < DateTime > DateTimeConverter { get ; protected init ; } = new ISO8601DateTimeConverter ( ) ;
2325
2426 /// <summary>
2527 /// The <see cref="DateTimeOffsetConverter"/> converter.
2628 /// </summary>
27- public IValueTypeConverter < DateTimeOffset > DateTimeOffsetConverter { get ; protected init ; } = new ISO8601DateTimeOffsetConverter ( ) ;
29+ public IValueTypeConverter < DateTimeOffset > DateTimeOffsetConverter { get ; protected init ; } =
30+ new ISO8601DateTimeOffsetConverter ( ) ;
2831
2932 /// <summary>
3033 /// The <see cref="bool"/> converter.
3134 /// </summary>
32- public IValueTypeConverter < bool > BoolConverter { get ; protected init ; } = new BoolConverter ( ) ;
35+ public IValueTypeConverter < bool > BoolConverter { get ; protected init ; } = new BoolConverter ( ) ;
3336
3437 /// <summary>
3538 /// The <see cref="char"/> converter.
3639 /// </summary>
37- public IValueTypeConverter < char > CharConverter { get ; protected init ; } = new CharConverter ( ) ;
40+ public IValueTypeConverter < char > CharConverter { get ; protected init ; } = new CharConverter ( ) ;
3841
3942 /// <summary>
4043 /// The <see cref="MemoryStream"/> converter.
4144 /// </summary>
42- public IReferenceTypeConverter < MemoryStream > MemoryStreamConverter { get ; protected init ; } = new MemoryStreamConverter ( ) ;
45+ public IReferenceTypeConverter < MemoryStream > MemoryStreamConverter { get ; protected init ; } =
46+ new MemoryStreamConverter ( ) ;
4347
4448 /// <summary>
4549 /// The <see cref="int"/> converter.
@@ -49,58 +53,58 @@ public class AttributeValueConverters
4953 /// <summary>
5054 /// The <see cref="decimal"/> converter.
5155 /// </summary>
52- public IValueTypeConverter < decimal > DecimalConverter { get ; protected init ; } = new DecimalConverter ( ) ;
56+ public IValueTypeConverter < decimal > DecimalConverter { get ; protected init ; } = new DecimalConverter ( ) ;
5357
5458 /// <summary>
5559 /// The <see cref="double"/> converter.
5660 /// </summary>
57- public IValueTypeConverter < double > DoubleConverter { get ; protected init ; } = new DoubleConverter ( ) ;
61+ public IValueTypeConverter < double > DoubleConverter { get ; protected init ; } = new DoubleConverter ( ) ;
5862
5963 /// <summary>
6064 /// The <see cref="float"/> converter.
6165 /// </summary>
62- public IValueTypeConverter < float > FloatConverter { get ; protected init ; } = new FloatConverter ( ) ;
66+ public IValueTypeConverter < float > FloatConverter { get ; protected init ; } = new FloatConverter ( ) ;
6367
6468 /// <summary>
6569 /// The <see cref="long"/> converter.
6670 /// </summary>
67- public IValueTypeConverter < long > LongConverter { get ; protected init ; } = new LongConverter ( ) ;
71+ public IValueTypeConverter < long > LongConverter { get ; protected init ; } = new LongConverter ( ) ;
6872
6973 /// <summary>
7074 /// The <see cref="ulong"/> converter.
7175 /// </summary>
72- public IValueTypeConverter < ulong > ULongConverter { get ; protected init ; } = new ULongConverter ( ) ;
73-
76+ public IValueTypeConverter < ulong > ULongConverter { get ; protected init ; } = new ULongConverter ( ) ;
77+
7478 /// <summary>
7579 /// The <see cref="uint"/> converter.
7680 /// </summary>
77- public IValueTypeConverter < uint > UIntConverter { get ; protected init ; } = new UIntConverter ( ) ;
78-
81+ public IValueTypeConverter < uint > UIntConverter { get ; protected init ; } = new UIntConverter ( ) ;
82+
7983 /// <summary>
8084 /// The <see cref="sbyte"/> converter.
8185 /// </summary>
82- public IValueTypeConverter < sbyte > SbyteConverter { get ; protected init ; } = new SByteConverter ( ) ;
83-
86+ public IValueTypeConverter < sbyte > SbyteConverter { get ; protected init ; } = new SByteConverter ( ) ;
87+
8488 /// <summary>
8589 /// The <see cref="short"/> converter.
8690 /// </summary>
87- public IValueTypeConverter < short > ShortConverter { get ; protected init ; } = new ShortConverter ( ) ;
88-
91+ public IValueTypeConverter < short > ShortConverter { get ; protected init ; } = new ShortConverter ( ) ;
92+
8993 /// <summary>
9094 /// The <see cref="byte"/> converter.
9195 /// </summary>
92- public IValueTypeConverter < byte > ByteConverter { get ; protected init ; } = new ByteConverter ( ) ;
93-
96+ public IValueTypeConverter < byte > ByteConverter { get ; protected init ; } = new ByteConverter ( ) ;
97+
9498 /// <summary>
9599 /// The <see cref="ushort"/> converter.
96100 /// </summary>
97- public IValueTypeConverter < ushort > UShortConverter { get ; protected init ; } = new UShortConverter ( ) ;
98-
101+ public IValueTypeConverter < ushort > UShortConverter { get ; protected init ; } = new UShortConverter ( ) ;
102+
99103 /// <summary>
100104 /// The <see cref="DateOnly"/> converter.
101105 /// </summary>
102106 public IValueTypeConverter < DateOnly > DateOnlyConverter { get ; protected init ; } = new ISO8601DateOnlyConverter ( ) ;
103-
107+
104108 /// <summary>
105109 /// The <see cref="TimeOnly"/> converter.
106110 /// </summary>
@@ -109,11 +113,30 @@ public class AttributeValueConverters
109113 /// <summary>
110114 /// The <see cref="TimeSpan"/> converter.
111115 /// </summary>
112- public IValueTypeConverter < TimeSpan > TimeSpanConverter { get ; protected init ; } = new ISO8601TimeSpanConveter ( ) ;
113-
116+ public IValueTypeConverter < TimeSpan > TimeSpanConverter { get ; protected init ; } = new ISO8601TimeSpanConveter ( ) ;
117+
114118 /// <summary>
115119 /// The <see cref="Guid"/> converter.
116120 /// </summary>
117- public IValueTypeConverter < Guid > GuidConverter { get ; protected init ; } = new GuidConverter ( ) ;
121+ public IValueTypeConverter < Guid > GuidConverter { get ; protected init ; } = new GuidConverter ( ) ;
118122
123+ /// <summary>
124+ /// The <see cref="ISet{T}"/> converter for <see cref="string"/> sets.
125+ /// </summary>
126+ public IReferenceTypeConverter < ISet < string > > ISetConverter { get ; protected init ; } = Singleton . Static < StringSetConverter > ( ) ;
127+
128+ /// <summary>
129+ /// The <see cref="IReadOnlySet{T}"/> converter for <see cref="string"/> sets.
130+ /// </summary>
131+ public IReferenceTypeConverter < IReadOnlySet < string > > IReadOnlySetConverter { get ; protected init ; } = Singleton . Static < StringSetConverter > ( ) ;
132+
133+ /// <summary>
134+ /// The <see cref="HashSet{T}"/> converter for <see cref="string"/> sets.
135+ /// </summary>
136+ public IReferenceTypeConverter < HashSet < string > > HashSetConverter { get ; protected init ; } = Singleton . Static < StringSetConverter > ( ) ;
137+
138+ /// <summary>
139+ /// The <see cref="SortedSet{T}"/> converter for <see cref="string"/> sets.
140+ /// </summary>
141+ public IReferenceTypeConverter < SortedSet < string > > SortedSetConverter { get ; protected init ; } = Singleton . Static < StringSetConverter > ( ) ;
119142}
0 commit comments