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

AsyncJsonReferenceVisitorBase

public abstract class AsyncJsonReferenceVisitorBase
Visitor to transform an object with JsonSchema objects.
using Newtonsoft.Json.Serialization; using NJsonSchema.References; using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; namespace NJsonSchema.Visitors { public abstract class AsyncJsonReferenceVisitorBase { private readonly IContractResolver _contractResolver; protected AsyncJsonReferenceVisitorBase() : this(new DefaultContractResolver()) { } protected AsyncJsonReferenceVisitorBase(IContractResolver contractResolver) { _contractResolver = contractResolver; } [AsyncStateMachine(typeof(<VisitAsync>d__3))] [Obsolete("VisitAsync is deprecated, please use VisitAsync with cancellation token insteaed.")] public virtual Task VisitAsync(object obj) { <VisitAsync>d__3 stateMachine = default(<VisitAsync>d__3); stateMachine.<>t__builder = AsyncTaskMethodBuilder.Create(); stateMachine.<>4__this = this; stateMachine.obj = obj; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } [AsyncStateMachine(typeof(<VisitAsync>d__4))] public virtual Task VisitAsync(object obj, CancellationToken cancellationToken) { <VisitAsync>d__4 stateMachine = default(<VisitAsync>d__4); stateMachine.<>t__builder = AsyncTaskMethodBuilder.Create(); stateMachine.<>4__this = this; stateMachine.obj = obj; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } protected abstract Task<IJsonReference> VisitJsonReferenceAsync(IJsonReference reference, string path, string typeNameHint, CancellationToken cancellationToken); [AsyncStateMachine(typeof(<VisitAsync>d__6))] protected virtual Task VisitAsync(object obj, string path, string typeNameHint, ISet<object> checkedObjects, Action<object> replacer, CancellationToken cancellationToken) { <VisitAsync>d__6 stateMachine = default(<VisitAsync>d__6); stateMachine.<>t__builder = AsyncTaskMethodBuilder.Create(); stateMachine.<>4__this = this; stateMachine.obj = obj; stateMachine.path = path; stateMachine.typeNameHint = typeNameHint; stateMachine.checkedObjects = checkedObjects; stateMachine.replacer = replacer; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } private void ReplaceOrDelete<T>(ICollection<T> collection, int index, T obj) { ((Collection<T>)collection).RemoveAt(index); if (obj != null) ((Collection<T>)collection).Insert(index, obj); } private void ReplaceOrDelete(IList collection, int index, object obj) { collection.RemoveAt(index); if (obj != null) collection.Insert(index, obj); } } }