Skip to content

Commit e5fe8d9

Browse files
committed
Merge branch 'dm/dateTimeOffsetBug' of https://github.com/Microsoft/OpenAPI.NET into dm/dateTimeOffsetBug
2 parents ef9ec34 + e4c7a0e commit e5fe8d9

File tree

14 files changed

+39
-37
lines changed

14 files changed

+39
-37
lines changed

src/Microsoft.OpenApi.Readers/Microsoft.OpenApi.Readers.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<PropertyGroup>
33
<TargetFrameworks>net46; netstandard2.0</TargetFrameworks>
44
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
5-
5+
<PackageIconUrl>http://go.microsoft.com/fwlink/?LinkID=288890</PackageIconUrl>
66
<PackageProjectUrl>https://github.com/Microsoft/OpenAPI.NET</PackageProjectUrl>
77
<PackageLicenseUrl>https://raw.githubusercontent.com/Microsoft/OpenAPI.NET/master/LICENSE</PackageLicenseUrl>
88
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>

src/Microsoft.OpenApi.Readers/V2/OpenApiOperationDeserializer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ private static OpenApiRequestBody CreateFormBody(ParsingContext context, List<Op
160160
schema.Description = v.Description;
161161
return schema;
162162
}),
163-
Required = formParameters.Where(p => p.Required).Select(p => p.Name).ToList()
163+
Required = new HashSet<string>(formParameters.Where(p => p.Required).Select(p => p.Name))
164164
}
165165
};
166166

src/Microsoft.OpenApi.Readers/V2/OpenApiSchemaDeserializer.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using Microsoft.OpenApi.Extensions;
66
using Microsoft.OpenApi.Models;
77
using Microsoft.OpenApi.Readers.ParseNodes;
8+
using System.Collections.Generic;
89

910
namespace Microsoft.OpenApi.Readers.V2
1011
{
@@ -103,7 +104,7 @@ internal static partial class OpenApiV2Deserializer
103104
{
104105
"required", (o, n) =>
105106
{
106-
o.Required = n.CreateSimpleList(n2 => n2.GetScalarValue()).ToArray();
107+
o.Required = new HashSet<string>(n.CreateSimpleList(n2 => n2.GetScalarValue()));
107108
}
108109
},
109110
{

src/Microsoft.OpenApi.Readers/V3/OpenApiSchemaDeserializer.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using Microsoft.OpenApi.Extensions;
66
using Microsoft.OpenApi.Models;
77
using Microsoft.OpenApi.Readers.ParseNodes;
8+
using System.Collections.Generic;
89

910
namespace Microsoft.OpenApi.Readers.V3
1011
{
@@ -103,7 +104,7 @@ internal static partial class OpenApiV3Deserializer
103104
{
104105
"required", (o, n) =>
105106
{
106-
o.Required = n.CreateSimpleList(n2 => n2.GetScalarValue()).ToArray();
107+
o.Required = new HashSet<string>(n.CreateSimpleList(n2 => n2.GetScalarValue()));
107108
}
108109
},
109110
{

src/Microsoft.OpenApi/Microsoft.OpenApi.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<PropertyGroup>
33
<TargetFrameworks>net46; netstandard2.0</TargetFrameworks>
44
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
5-
5+
<PackageIconUrl>http://go.microsoft.com/fwlink/?LinkID=288890</PackageIconUrl>
66
<PackageProjectUrl>https://github.com/Microsoft/OpenAPI.NET</PackageProjectUrl>
77
<PackageLicenseUrl>https://raw.githubusercontent.com/Microsoft/OpenAPI.NET/master/LICENSE</PackageLicenseUrl>
88
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>

src/Microsoft.OpenApi/Models/OpenApiSchema.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ public class OpenApiSchema : IOpenApiSerializable, IOpenApiReferenceable, IOpenA
133133
/// <summary>
134134
/// Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00
135135
/// </summary>
136-
public IList<string> Required { get; set; } = new List<string>();
136+
public ISet<string> Required { get; set; } = new HashSet<string>();
137137

138138
/// <summary>
139139
/// Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00
@@ -393,7 +393,7 @@ public void SerializeAsV3WithoutReference(IOpenApiWriter writer)
393393
/// </summary>
394394
public void SerializeAsV2(IOpenApiWriter writer)
395395
{
396-
SerializeAsV2(writer: writer, parentRequiredProperties: new List<string>(), propertyName: null);
396+
SerializeAsV2(writer: writer, parentRequiredProperties: new HashSet<string>(), propertyName: null);
397397
}
398398

399399
/// <summary>
@@ -403,7 +403,7 @@ public void SerializeAsV2WithoutReference(IOpenApiWriter writer)
403403
{
404404
SerializeAsV2WithoutReference(
405405
writer: writer,
406-
parentRequiredProperties: new List<string>(),
406+
parentRequiredProperties: new HashSet<string>(),
407407
propertyName: null);
408408
}
409409

@@ -416,7 +416,7 @@ public void SerializeAsV2WithoutReference(IOpenApiWriter writer)
416416
/// <param name="propertyName">The property name that will be serialized.</param>
417417
internal void SerializeAsV2(
418418
IOpenApiWriter writer,
419-
IList<string> parentRequiredProperties,
419+
ISet<string> parentRequiredProperties,
420420
string propertyName)
421421
{
422422
if (writer == null)
@@ -432,7 +432,7 @@ internal void SerializeAsV2(
432432

433433
if (parentRequiredProperties == null)
434434
{
435-
parentRequiredProperties = new List<string>();
435+
parentRequiredProperties = new HashSet<string>();
436436
}
437437

438438
SerializeAsV2WithoutReference(writer, parentRequiredProperties, propertyName);
@@ -447,7 +447,7 @@ internal void SerializeAsV2(
447447
/// <param name="propertyName">The property name that will be serialized.</param>
448448
internal void SerializeAsV2WithoutReference(
449449
IOpenApiWriter writer,
450-
IList<string> parentRequiredProperties,
450+
ISet<string> parentRequiredProperties,
451451
string propertyName)
452452
{
453453
writer.WriteStartObject();
@@ -521,7 +521,7 @@ internal void WriteAsItemsProperties(IOpenApiWriter writer)
521521

522522
internal void WriteAsSchemaProperties(
523523
IOpenApiWriter writer,
524-
IList<string> parentRequiredProperties,
524+
ISet<string> parentRequiredProperties,
525525
string propertyName)
526526
{
527527
if (writer == null)

src/Microsoft.OpenApi/Writers/OpenApiWriterExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ public static void WriteRequiredObject<T>(
171171
public static void WriteOptionalCollection(
172172
this IOpenApiWriter writer,
173173
string name,
174-
IList<string> elements,
174+
IEnumerable<string> elements,
175175
Action<IOpenApiWriter, string> action)
176176
{
177177
if (elements != null && elements.Any())
@@ -191,7 +191,7 @@ public static void WriteOptionalCollection(
191191
public static void WriteOptionalCollection<T>(
192192
this IOpenApiWriter writer,
193193
string name,
194-
IList<T> elements,
194+
IEnumerable<T> elements,
195195
Action<IOpenApiWriter, T> action)
196196
where T : IOpenApiElement
197197
{

test/Microsoft.OpenApi.Readers.Tests/ReferenceService/TryLoadReferenceV2Tests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ public void LoadResponseAndSchemaReference()
226226
Schema = new OpenApiSchema
227227
{
228228
Description = "Sample description",
229-
Required = new List<string> {"name" },
229+
Required = new HashSet<string> {"name" },
230230
Properties = {
231231
["name"] = new OpenApiSchema()
232232
{

test/Microsoft.OpenApi.Readers.Tests/V2Tests/OpenApiOperationTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ public class OpenApiOperationTests
9292
Type = "string"
9393
}
9494
},
95-
Required = new List<string>
95+
Required = new HashSet<string>
9696
{
9797
"name"
9898
}
@@ -115,7 +115,7 @@ public class OpenApiOperationTests
115115
Type = "string"
116116
}
117117
},
118-
Required = new List<string>
118+
Required = new HashSet<string>
119119
{
120120
"name"
121121
}

test/Microsoft.OpenApi.Readers.Tests/V2Tests/OpenApiPathItemTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public class OpenApiPathItemTests
8181
Type = "string"
8282
}
8383
},
84-
Required = new List<string>
84+
Required = new HashSet<string>
8585
{
8686
"name"
8787
}
@@ -104,7 +104,7 @@ public class OpenApiPathItemTests
104104
Type = "string"
105105
}
106106
},
107-
Required = new List<string>
107+
Required = new HashSet<string>
108108
{
109109
"name"
110110
}
@@ -190,7 +190,7 @@ public class OpenApiPathItemTests
190190
Type = "string"
191191
}
192192
},
193-
Required = new List<string>
193+
Required = new HashSet<string>
194194
{
195195
"name"
196196
}
@@ -218,7 +218,7 @@ public class OpenApiPathItemTests
218218
Type = "string"
219219
}
220220
},
221-
Required = new List<string>
221+
Required = new HashSet<string>
222222
{
223223
"name"
224224
}

0 commit comments

Comments
 (0)