<PackageReference Include="NJsonSchema" Version="9.10.5" />

JsonSchemaVisitorBase

Visitor to transform an object with JsonSchema4 objects.
using Microsoft.Runtime.CompilerServices; using NJsonSchema.References; using System.Threading.Tasks; namespace NJsonSchema.Visitors { public abstract class JsonSchemaVisitorBase : JsonReferenceVisitorBase { protected abstract Task<JsonSchema4> VisitSchemaAsync(JsonSchema4 schema, string path, string typeNameHint); protected override async Task<IJsonReference> VisitJsonReferenceAsync(IJsonReference reference, string path, string typeNameHint) { JsonSchema4 schema; if ((schema = (reference as JsonSchema4)) != null) { TaskAwaiter<JsonSchema4> val = AwaitExtensions.GetAwaiter<JsonSchema4>(VisitSchemaAsync(schema, path, typeNameHint)); if (!val.get_IsCompleted()) { await val; TaskAwaiter<JsonSchema4> val2 = default(TaskAwaiter<JsonSchema4>); val = val2; } return val.GetResult(); } return reference; } } }