Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 01afbe7

Browse filesBrowse files
committed
Updated to JSON.NET 13.0.3
1 parent 6f33256 commit 01afbe7
Copy full SHA for 01afbe7

File tree

108 files changed

+1528
-717
lines changed
Filter options

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Dismiss banner

108 files changed

+1528
-717
lines changed

‎src/Exceptionless/Newtonsoft.Json/Converters/BinaryConverter.cs

Copy file name to clipboardExpand all lines: src/Exceptionless/Newtonsoft.Json/Converters/BinaryConverter.cs
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ private static void EnsureReflectionObject(Type t)
126126
{
127127
// current token is already at base64 string
128128
// unable to call ReadAsBytes so do it the old fashion way
129-
string encodedData = reader.Value!.ToString();
129+
string encodedData = reader.Value!.ToString()!;
130130
data = Convert.FromBase64String(encodedData);
131131
}
132132
else
@@ -135,7 +135,7 @@ private static void EnsureReflectionObject(Type t)
135135
}
136136

137137
Type t = (ReflectionUtils.IsNullableType(objectType))
138-
? Nullable.GetUnderlyingType(objectType)
138+
? Nullable.GetUnderlyingType(objectType)!
139139
: objectType;
140140

141141
#if HAVE_LINQ

‎src/Exceptionless/Newtonsoft.Json/Converters/DataSetConverter.cs

Copy file name to clipboardExpand all lines: src/Exceptionless/Newtonsoft.Json/Converters/DataSetConverter.cs
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,15 +84,15 @@ public override void WriteJson(JsonWriter writer, object? value, JsonSerializer
8484
// handle typed datasets
8585
DataSet ds = (objectType == typeof(DataSet))
8686
? new DataSet()
87-
: (DataSet)Activator.CreateInstance(objectType);
87+
: (DataSet)Activator.CreateInstance(objectType)!;
8888

8989
DataTableConverter converter = new DataTableConverter();
9090

9191
reader.ReadAndAssert();
9292

9393
while (reader.TokenType == JsonToken.PropertyName)
9494
{
95-
DataTable dt = ds.Tables[(string)reader.Value!];
95+
DataTable? dt = ds.Tables[(string)reader.Value!];
9696
bool exists = (dt != null);
9797

9898
dt = (DataTable)converter.ReadJson(reader, typeof(DataTable), dt, serializer)!;

‎src/Exceptionless/Newtonsoft.Json/Converters/DataTableConverter.cs

Copy file name to clipboardExpand all lines: src/Exceptionless/Newtonsoft.Json/Converters/DataTableConverter.cs
+3-3Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public override void WriteJson(JsonWriter writer, object? value, JsonSerializer
9999
// handle typed datasets
100100
dt = (objectType == typeof(DataTable))
101101
? new DataTable()
102-
: (DataTable)Activator.CreateInstance(objectType);
102+
: (DataTable)Activator.CreateInstance(objectType)!;
103103
}
104104

105105
// DataTable is inside a DataSet
@@ -144,7 +144,7 @@ private static void CreateRow(JsonReader reader, DataTable dt, JsonSerializer se
144144

145145
reader.ReadAndAssert();
146146

147-
DataColumn column = dt.Columns[columnName];
147+
DataColumn? column = dt.Columns[columnName];
148148
if (column == null)
149149
{
150150
Type columnType = GetColumnDataType(reader);
@@ -185,7 +185,7 @@ private static void CreateRow(JsonReader reader, DataTable dt, JsonSerializer se
185185
reader.ReadAndAssert();
186186
}
187187

188-
Array destinationArray = Array.CreateInstance(column.DataType.GetElementType(), o.Count);
188+
Array destinationArray = Array.CreateInstance(column.DataType.GetElementType()!, o.Count);
189189
((IList)o).CopyTo(destinationArray, 0);
190190

191191
dr[columnName] = destinationArray;

‎src/Exceptionless/Newtonsoft.Json/Converters/DiscriminatedUnionConverter.cs

Copy file name to clipboardExpand all lines: src/Exceptionless/Newtonsoft.Json/Converters/DiscriminatedUnionConverter.cs
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ public override void WriteJson(JsonWriter writer, object? value, JsonSerializer
182182

183183
while (reader.TokenType == JsonToken.PropertyName)
184184
{
185-
string propertyName = reader.Value!.ToString();
185+
string propertyName = reader.Value!.ToString()!;
186186
if (string.Equals(propertyName, CasePropertyName, StringComparison.OrdinalIgnoreCase))
187187
{
188188
reader.ReadAndAssert();

‎src/Exceptionless/Newtonsoft.Json/Converters/EntityKeyMemberConverter.cs

Copy file name to clipboardExpand all lines: src/Exceptionless/Newtonsoft.Json/Converters/EntityKeyMemberConverter.cs
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ private static void ReadAndAssertProperty(JsonReader reader, string propertyName
129129
reader.ReadAndAssert();
130130
string? type = reader.Value?.ToString();
131131

132-
Type t = Type.GetType(type);
132+
Type t = Type.GetType(type!)!;
133133

134134
ReadAndAssertProperty(reader, ValuePropertyName);
135135
reader.ReadAndAssert();

‎src/Exceptionless/Newtonsoft.Json/Converters/ExpandoObjectConverter.cs

Copy file name to clipboardExpand all lines: src/Exceptionless/Newtonsoft.Json/Converters/ExpandoObjectConverter.cs
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ private object ReadObject(JsonReader reader)
119119
switch (reader.TokenType)
120120
{
121121
case JsonToken.PropertyName:
122-
string propertyName = reader.Value!.ToString();
122+
string propertyName = reader.Value!.ToString()!;
123123

124124
if (!reader.Read())
125125
{

‎src/Exceptionless/Newtonsoft.Json/Converters/IsoDateTimeConverter.cs

Copy file name to clipboardExpand all lines: src/Exceptionless/Newtonsoft.Json/Converters/IsoDateTimeConverter.cs
+3-1Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ public override void WriteJson(JsonWriter writer, object? value, JsonSerializer
133133

134134
#if HAVE_DATE_TIME_OFFSET
135135
Type t = (nullable)
136-
? Nullable.GetUnderlyingType(objectType)
136+
? Nullable.GetUnderlyingType(objectType)!
137137
: objectType;
138138
#endif
139139

@@ -167,6 +167,8 @@ public override void WriteJson(JsonWriter writer, object? value, JsonSerializer
167167
return null;
168168
}
169169

170+
MiscellaneousUtils.Assert(dateText != null);
171+
170172
#if HAVE_DATE_TIME_OFFSET
171173
if (t == typeof(DateTimeOffset))
172174
{

‎src/Exceptionless/Newtonsoft.Json/Converters/JavaScriptDateTimeConverter.cs

Copy file name to clipboardExpand all lines: src/Exceptionless/Newtonsoft.Json/Converters/JavaScriptDateTimeConverter.cs
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public override void WriteJson(JsonWriter writer, object? value, JsonSerializer
9898

9999
#if HAVE_DATE_TIME_OFFSET
100100
Type t = (ReflectionUtils.IsNullableType(objectType))
101-
? Nullable.GetUnderlyingType(objectType)
101+
? Nullable.GetUnderlyingType(objectType)!
102102
: objectType;
103103
if (t == typeof(DateTimeOffset))
104104
{

‎src/Exceptionless/Newtonsoft.Json/Converters/KeyValuePairConverter.cs

Copy file name to clipboardExpand all lines: src/Exceptionless/Newtonsoft.Json/Converters/KeyValuePairConverter.cs
+3-3Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public override void WriteJson(JsonWriter writer, object? value, JsonSerializer
102102
reader.ReadAndAssert();
103103

104104
Type t = ReflectionUtils.IsNullableType(objectType)
105-
? Nullable.GetUnderlyingType(objectType)
105+
? Nullable.GetUnderlyingType(objectType)!
106106
: objectType;
107107

108108
ReflectionObject reflectionObject = ReflectionObjectPerType.Get(t);
@@ -111,7 +111,7 @@ public override void WriteJson(JsonWriter writer, object? value, JsonSerializer
111111

112112
while (reader.TokenType == JsonToken.PropertyName)
113113
{
114-
string propertyName = reader.Value!.ToString();
114+
string propertyName = reader.Value!.ToString()!;
115115
if (string.Equals(propertyName, KeyName, StringComparison.OrdinalIgnoreCase))
116116
{
117117
reader.ReadForTypeAndAssert(keyContract, false);
@@ -145,7 +145,7 @@ public override void WriteJson(JsonWriter writer, object? value, JsonSerializer
145145
public override bool CanConvert(Type objectType)
146146
{
147147
Type t = (ReflectionUtils.IsNullableType(objectType))
148-
? Nullable.GetUnderlyingType(objectType)
148+
? Nullable.GetUnderlyingType(objectType)!
149149
: objectType;
150150

151151
if (t.IsValueType() && t.IsGenericType())

‎src/Exceptionless/Newtonsoft.Json/Converters/RegexConverter.cs

Copy file name to clipboardExpand all lines: src/Exceptionless/Newtonsoft.Json/Converters/RegexConverter.cs
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ private Regex ReadRegexObject(JsonReader reader, JsonSerializer serializer)
179179
switch (reader.TokenType)
180180
{
181181
case JsonToken.PropertyName:
182-
string propertyName = reader.Value!.ToString();
182+
string propertyName = reader.Value!.ToString()!;
183183

184184
if (!reader.Read())
185185
{

‎src/Exceptionless/Newtonsoft.Json/Converters/StringEnumConverter.cs

Copy file name to clipboardExpand all lines: src/Exceptionless/Newtonsoft.Json/Converters/StringEnumConverter.cs
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ public override void WriteJson(JsonWriter writer, object? value, JsonSerializer
222222
}
223223

224224
bool isNullable = ReflectionUtils.IsNullableType(objectType);
225-
Type t = isNullable ? Nullable.GetUnderlyingType(objectType) : objectType;
225+
Type t = isNullable ? Nullable.GetUnderlyingType(objectType)! : objectType;
226226

227227
try
228228
{
@@ -267,7 +267,7 @@ public override void WriteJson(JsonWriter writer, object? value, JsonSerializer
267267
public override bool CanConvert(Type objectType)
268268
{
269269
Type t = (ReflectionUtils.IsNullableType(objectType))
270-
? Nullable.GetUnderlyingType(objectType)
270+
? Nullable.GetUnderlyingType(objectType)!
271271
: objectType;
272272

273273
return t.IsEnum();

‎src/Exceptionless/Newtonsoft.Json/Converters/UnixDateTimeConverter.cs

Copy file name to clipboardExpand all lines: src/Exceptionless/Newtonsoft.Json/Converters/UnixDateTimeConverter.cs
+34-3Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,37 @@ internal class UnixDateTimeConverter : DateTimeConverterBase
3636
{
3737
internal static readonly DateTime UnixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
3838

39+
/// <summary>
40+
/// Gets or sets a value indicating whether the dates before Unix epoch
41+
/// should converted to and from JSON.
42+
/// </summary>
43+
/// <value>
44+
/// <c>true</c> to allow converting dates before Unix epoch to and from JSON;
45+
/// <c>false</c> to throw an exception when a date being converted to or from JSON
46+
/// occurred before Unix epoch. The default value is <c>false</c>.
47+
/// </value>
48+
public bool AllowPreEpoch { get; set; }
49+
50+
/// <summary>
51+
/// Initializes a new instance of the <see cref="UnixDateTimeConverter"/> class.
52+
/// </summary>
53+
public UnixDateTimeConverter() : this(false)
54+
{
55+
}
56+
57+
/// <summary>
58+
/// Initializes a new instance of the <see cref="UnixDateTimeConverter"/> class.
59+
/// </summary>
60+
/// <param name="allowPreEpoch">
61+
/// <c>true</c> to allow converting dates before Unix epoch to and from JSON;
62+
/// <c>false</c> to throw an exception when a date being converted to or from JSON
63+
/// occurred before Unix epoch. The default value is <c>false</c>.
64+
/// </param>
65+
public UnixDateTimeConverter(bool allowPreEpoch)
66+
{
67+
AllowPreEpoch = allowPreEpoch;
68+
}
69+
3970
/// <summary>
4071
/// Writes the JSON representation of the object.
4172
/// </summary>
@@ -61,7 +92,7 @@ public override void WriteJson(JsonWriter writer, object? value, JsonSerializer
6192
throw new JsonSerializationException("Expected date object value.");
6293
}
6394

64-
if (seconds < 0)
95+
if (!AllowPreEpoch && seconds < 0)
6596
{
6697
throw new JsonSerializationException("Cannot convert date value that is before Unix epoch of 00:00:00 UTC on 1 January 1970.");
6798
}
@@ -108,12 +139,12 @@ public override void WriteJson(JsonWriter writer, object? value, JsonSerializer
108139
throw JsonSerializationException.Create(reader, "Unexpected token parsing date. Expected Integer or String, got {0}.".FormatWith(CultureInfo.InvariantCulture, reader.TokenType));
109140
}
110141

111-
if (seconds >= 0)
142+
if (AllowPreEpoch || seconds >= 0)
112143
{
113144
DateTime d = UnixEpoch.AddSeconds(seconds);
114145

115146
#if HAVE_DATE_TIME_OFFSET
116-
Type t = (nullable)
147+
Type? t = (nullable)
117148
? Nullable.GetUnderlyingType(objectType)
118149
: objectType;
119150
if (t == typeof(DateTimeOffset))

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.