Add group, WIP on role (#17)

This commit is contained in:
2026-08-01 22:45:18 -04:00
parent 2241742ab8
commit e7261f6019
13 changed files with 539 additions and 72 deletions
+25 -7
View File
@@ -84,6 +84,14 @@ module Json =
override _.ReadJson(reader: JsonReader, _: Type, _: OpenGraphType, _: bool, _: JsonSerializer) =
(string >> OpenGraphType.Parse) reader.Value
/// <summary>Converter for the <see cref="PageId" /> type</summary>
type PageIdConverter() =
inherit JsonConverter<PageId>()
override _.WriteJson(writer: JsonWriter, value: PageId, _: JsonSerializer) =
writer.WriteValue(string value)
override _.ReadJson(reader: JsonReader, _: Type, _: PageId, _: bool, _: JsonSerializer) =
(string >> PageId) reader.Value
/// <summary>Converter for the <see cref="Permalink" /> type</summary>
type PermalinkConverter() =
inherit JsonConverter<Permalink>()
@@ -92,13 +100,21 @@ module Json =
override _.ReadJson(reader: JsonReader, _: Type, _: Permalink, _: bool, _: JsonSerializer) =
(string >> Permalink) reader.Value
/// <summary>Converter for the <see cref="PageId" /> type</summary>
type PageIdConverter() =
inherit JsonConverter<PageId>()
override _.WriteJson(writer: JsonWriter, value: PageId, _: JsonSerializer) =
/// <summary>Converter for the <see cref="PersonGroup" /> type</summary>
type PersonGroupConverter() =
inherit JsonConverter<PersonGroup>()
override _.WriteJson(writer: JsonWriter, value: PersonGroup, _: JsonSerializer) =
writer.WriteValue(string value)
override _.ReadJson(reader: JsonReader, _: Type, _: PageId, _: bool, _: JsonSerializer) =
(string >> PageId) reader.Value
override _.ReadJson(reader: JsonReader, _: Type, _: PersonGroup, _: bool, _: JsonSerializer) =
(string >> PersonGroup.Parse) reader.Value
/// <summary>Converter for the <see cref="PersonRole" /> type</summary>
type PersonRoleConverter() =
inherit JsonConverter<PersonRole>()
override _.WriteJson(writer: JsonWriter, value: PersonRole, _: JsonSerializer) =
writer.WriteValue(string value)
override _.ReadJson(reader: JsonReader, _: Type, _: PersonRole, _: bool, _: JsonSerializer) =
(string >> PersonRole.Parse) reader.Value
/// <summary>Converter for the <see cref="PodcastMedium" /> type</summary>
type PodcastMediumConverter() =
@@ -180,8 +196,10 @@ module Json =
ExplicitRatingConverter()
MarkupTextConverter()
OpenGraphTypeConverter()
PermalinkConverter()
PageIdConverter()
PermalinkConverter()
PersonGroupConverter()
PersonRoleConverter()
PodcastMediumConverter()
PostIdConverter()
TagMapIdConverter()