Skip to content

Commit 1825825

Browse files
committed
Remove recursive Ref and recursive anchor keywords as they are not supported in the latest JSON schema draft
1 parent 5c35c7b commit 1825825

File tree

3 files changed

+0
-28
lines changed

3 files changed

+0
-28
lines changed

src/Microsoft.OpenApi/Models/OpenApiSchema.cs

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,16 +55,6 @@ public class OpenApiSchema : IOpenApiAnnotatable, IOpenApiExtensible, IOpenApiRe
5555
/// </summary>
5656
public virtual string DynamicAnchor { get; set; }
5757

58-
/// <summary>
59-
/// $recursiveAnchor - used to construct recursive schemas i.e one that has a reference to its own root, identified by the empty fragment URI reference ("#")
60-
/// </summary>
61-
public virtual string RecursiveAnchor { get; set; }
62-
63-
/// <summary>
64-
/// $recursiveRef - used to construct recursive schemas i.e one that has a reference to its own root, identified by the empty fragment URI reference ("#")
65-
/// </summary>
66-
public virtual string RecursiveRef { get; set; }
67-
6858
/// <summary>
6959
/// $defs - reserves a location for schema authors to inline re-usable JSON Schemas into a more general schema.
7060
/// The keyword does not directly affect the validation result
@@ -361,8 +351,6 @@ public OpenApiSchema(OpenApiSchema schema)
361351
Vocabulary = schema?.Vocabulary ?? Vocabulary;
362352
DynamicAnchor = schema?.DynamicAnchor ?? DynamicAnchor;
363353
DynamicRef = schema?.DynamicRef ?? DynamicRef;
364-
RecursiveAnchor = schema?.RecursiveAnchor ?? RecursiveAnchor;
365-
RecursiveRef = schema?.RecursiveRef ?? RecursiveRef;
366354
Definitions = schema?.Definitions != null ? new Dictionary<string, OpenApiSchema>(schema.Definitions) : null;
367355
UnevaluatedProperties = schema?.UnevaluatedProperties ?? UnevaluatedProperties;
368356
V31ExclusiveMaximum = schema?.V31ExclusiveMaximum ?? V31ExclusiveMaximum;
@@ -578,8 +566,6 @@ internal void WriteV31Properties(IOpenApiWriter writer)
578566
writer.WriteOptionalMap(OpenApiConstants.Defs, Definitions, (w, s) => s.SerializeAsV3(w));
579567
writer.WriteProperty(OpenApiConstants.DynamicRef, DynamicRef);
580568
writer.WriteProperty(OpenApiConstants.DynamicAnchor, DynamicAnchor);
581-
writer.WriteProperty(OpenApiConstants.RecursiveAnchor, RecursiveAnchor);
582-
writer.WriteProperty(OpenApiConstants.RecursiveRef, RecursiveRef);
583569
writer.WriteProperty(OpenApiConstants.V31ExclusiveMaximum, V31ExclusiveMaximum);
584570
writer.WriteProperty(OpenApiConstants.V31ExclusiveMinimum, V31ExclusiveMinimum);
585571
writer.WriteProperty(OpenApiConstants.UnevaluatedProperties, UnevaluatedProperties, false);

src/Microsoft.OpenApi/Reader/V31/OpenApiSchemaDeserializer.cs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,6 @@ internal static partial class OpenApiV31Deserializer
4242
"$dynamicAnchor",
4343
(o, n, _) => o.DynamicAnchor = n.GetScalarValue()
4444
},
45-
{
46-
"$recursiveAnchor",
47-
(o, n, _) => o.RecursiveAnchor = n.GetScalarValue()
48-
},
49-
{
50-
"$recursiveRef",
51-
(o, n, _) => o.RecursiveRef = n.GetScalarValue()
52-
},
5345
{
5446
"$defs",
5547
(o, n, t) => o.Definitions = n.CreateMap(LoadSchema, t)

test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -469,8 +469,6 @@ namespace Microsoft.OpenApi.Models
469469
public const string PropertyName = "propertyName";
470470
public const string Put = "put";
471471
public const string ReadOnly = "readOnly";
472-
public const string RecursiveAnchor = "$recursiveAnchor";
473-
public const string RecursiveRef = "$recursiveRef";
474472
public const string RefreshUrl = "refreshUrl";
475473
public const string RequestBodies = "requestBodies";
476474
public const string RequestBody = "requestBody";
@@ -901,8 +899,6 @@ namespace Microsoft.OpenApi.Models
901899
public virtual System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiSchema> PatternProperties { get; set; }
902900
public virtual System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiSchema> Properties { get; set; }
903901
public virtual bool ReadOnly { get; set; }
904-
public virtual string RecursiveAnchor { get; set; }
905-
public virtual string RecursiveRef { get; set; }
906902
public virtual Microsoft.OpenApi.Models.OpenApiReference Reference { get; set; }
907903
public virtual System.Collections.Generic.ISet<string> Required { get; set; }
908904
public virtual string Schema { get; set; }
@@ -1243,8 +1239,6 @@ namespace Microsoft.OpenApi.Models.References
12431239
public override System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiSchema> PatternProperties { get; set; }
12441240
public override System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiSchema> Properties { get; set; }
12451241
public override bool ReadOnly { get; set; }
1246-
public override string RecursiveAnchor { get; set; }
1247-
public override string RecursiveRef { get; set; }
12481242
public override System.Collections.Generic.ISet<string> Required { get; set; }
12491243
public override string Schema { get; set; }
12501244
public override string Title { get; set; }

0 commit comments

Comments
 (0)