From d1a443dad254f3d23f507b2574d2aae5a546eac0 Mon Sep 17 00:00:00 2001 From: Peter Ombwa Date: Wed, 17 Nov 2021 16:33:17 -0800 Subject: [PATCH] Add directive to ensure we serialize DictionaryEntry types. --- src/readme.graph.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/readme.graph.md b/src/readme.graph.md index 5e2036371b1..39595403448 100644 --- a/src/readme.graph.md +++ b/src/readme.graph.md @@ -647,6 +647,11 @@ directive: // Changes excludes hashset to a case-insensitive hashset. let fromJsonRegex = /(\s*FromJson<\w*>\s*\(JsonObject\s*json\s*,\s*System\.Collections\.Generic\.IDictionary.*)(\s*)({)/gm $ = $.replace(fromJsonRegex, '$1$2$3\n$2 if (excludes != null){ excludes = new System.Collections.Generic.HashSet(excludes, global::System.StringComparer.OrdinalIgnoreCase);}'); + + // Serialize DictionaryEntry struct as a value type. + let dictionaryEntrySerializer = 'if (vValue is System.Collections.DictionaryEntry deValue){return new JsonObject { { deValue.Key.ToString(), ToJsonValue(deValue.Value) } };}'; + let valueTypeSerializerRegex = /(private\s*static\s*JsonNode\s*ToJsonValue\(ValueType vValue\)\s*{\s*)/gm + $ = $.replace(valueTypeSerializerRegex, `$1 ${dictionaryEntrySerializer}\n`); return $; }