in src/NuGet.Clients/NuGet.VisualStudio.Internal.Contracts/Formatters/PackageSearchMetadataContextInfoFormatter.cs [215:371]
protected override void SerializeCore(ref MessagePackWriter writer, PackageSearchMetadataContextInfo value, MessagePackSerializerOptions options)
{
writer.WriteMapHeader(count: 23);
writer.Write(AuthorsPropertyName);
writer.Write(value.Authors);
writer.Write(TitlePropertyName);
writer.Write(value.Title);
writer.Write(DescriptionPropertyName);
writer.Write(value.Description);
writer.Write(IconUrlPropertyName);
if (value.IconUrl == null)
{
writer.WriteNil();
}
else
{
options.Resolver.GetFormatter<Uri>()!.Serialize(ref writer, value.IconUrl, options);
}
writer.Write(TagsPropertyName);
writer.Write(value.Tags);
writer.Write(IdentityPropertyName);
if (value.Identity == null)
{
writer.WriteNil();
}
else
{
PackageIdentityFormatter.Instance.Serialize(ref writer, value.Identity, options);
}
writer.Write(LicenseMetadataPropertyName);
if (value.LicenseMetadata == null)
{
writer.WriteNil();
}
else
{
options.Resolver.GetFormatter<LicenseMetadata>()!.Serialize(ref writer, value.LicenseMetadata, options);
}
writer.Write(LicenseUrlPropertyName);
if (value.LicenseUrl == null)
{
writer.WriteNil();
}
else
{
options.Resolver.GetFormatter<Uri>()!.Serialize(ref writer, value.LicenseUrl, options);
}
writer.Write(OwnersPropertyName);
writer.Write(value.Owners);
writer.Write(ProjectUrlPropertyName);
if (value.ProjectUrl == null)
{
writer.WriteNil();
}
else
{
options.Resolver.GetFormatter<Uri>()!.Serialize(ref writer, value.ProjectUrl, options);
}
writer.Write(PublishedPropertyName);
if (value.Published == null)
{
writer.WriteNil();
}
else
{
options.Resolver.GetFormatter<DateTimeOffset>()!.Serialize(ref writer, value.Published.Value, options);
}
writer.Write(ReportAbuseUrlPropertyName);
if (value.ReportAbuseUrl == null)
{
writer.WriteNil();
}
else
{
options.Resolver.GetFormatter<Uri>()!.Serialize(ref writer, value.ReportAbuseUrl, options);
}
writer.Write(PackageDetailsUrlPropertyName);
if (value.PackageDetailsUrl == null)
{
writer.WriteNil();
}
else
{
options.Resolver.GetFormatter<Uri>()!.Serialize(ref writer, value.PackageDetailsUrl, options);
}
writer.Write(PackagePathPropertyName);
writer.Write(value.PackagePath);
writer.Write(RequireLicenseAcceptancePropertyName);
writer.Write(value.RequireLicenseAcceptance);
writer.Write(SummaryPropertyName);
writer.Write(value.Summary);
writer.Write(PrefixReservedPropertyName);
writer.Write(value.PrefixReserved);
writer.Write(IsListedPropertyName);
writer.Write(value.IsListed);
writer.Write(DependencySetsPropertyName);
if (value.DependencySets == null)
{
writer.WriteNil();
}
else
{
options.Resolver.GetFormatter<IReadOnlyCollection<PackageDependencyGroup>>()!.Serialize(ref writer, value.DependencySets, options);
}
writer.Write(DownloadCountPropertyName);
if (value.DownloadCount == null)
{
writer.WriteNil();
}
else
{
writer.Write(value.DownloadCount.Value);
}
writer.Write(VulnerabilitiesPropertyName);
if (value.Vulnerabilities == null)
{
writer.WriteNil();
}
else
{
options.Resolver.GetFormatter<IReadOnlyCollection<PackageVulnerabilityMetadataContextInfo>>()!.Serialize(ref writer, value.Vulnerabilities, options);
}
writer.Write(IsRecommendedPropertyName);
writer.Write(value.IsRecommended);
writer.Write(RecommenderVersionPropertyName);
if (value.RecommenderVersion == null)
{
writer.WriteNil();
}
else
{
options.Resolver.GetFormatter<(string, string)>()!.Serialize(ref writer, value.RecommenderVersion.Value, options);
}
}