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

JsonSchemaVisitorBase

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