Skip to content

Commit 5af79d4

Browse files
committed
Add condition to check whether the flag matches the type before appending it to a list; write string values
1 parent 56c47cb commit 5af79d4

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/Microsoft.OpenApi/Models/OpenApiSchema.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -813,10 +813,13 @@ private void SerializeTypeProperty(JsonSchemaType? type, IOpenApiWriter writer,
813813
var list = new List<JsonSchemaType>();
814814
foreach (JsonSchemaType flag in System.Enum.GetValues(typeof(JsonSchemaType)))
815815
{
816-
list.Add(flag);
816+
if ((type & flag) == flag)
817+
{
818+
list.Add(flag);
819+
}
817820
}
818821

819-
writer.WriteOptionalCollection(OpenApiConstants.Type, list, (w, s) => w.WriteRaw(OpenApiTypeMapper.ToIdentifier(s)));
822+
writer.WriteOptionalCollection(OpenApiConstants.Type, list, (w, s) => w.WriteValue(OpenApiTypeMapper.ToIdentifier(s)));
820823
}
821824
}
822825
}
@@ -855,7 +858,7 @@ private void UpCastSchemaTypeToV31(JsonSchemaType? type, IOpenApiWriter writer)
855858
}
856859
}
857860

858-
writer.WriteOptionalCollection(OpenApiConstants.Type, list, (w, s) => w.WriteRaw(s));
861+
writer.WriteOptionalCollection(OpenApiConstants.Type, list, (w, s) => w.WriteValue(s));
859862
}
860863

861864
private void DowncastTypeArrayToV2OrV3(JsonSchemaType? schemaType, IOpenApiWriter writer, OpenApiSpecVersion version, int flagsCount)

0 commit comments

Comments
 (0)