using System;
using System.Collections;
using System.Collections.Generic;
using Newtonsoft.Json.Converters;
namespace Umbraco.Core.Serialization
{
///
/// Marks dictionaries so they are deserialized as case-insensitive.
///
///
/// [JsonConverter(typeof(CaseInsensitiveDictionaryConverter{PropertyData[]}))]
/// public Dictionary{string, PropertyData[]} PropertyData {{ get; set; }}
///
public class CaseInsensitiveDictionaryConverter : CustomCreationConverter
{
public override bool CanWrite => false;
public override bool CanRead => true;
public override bool CanConvert(Type objectType) => typeof(IDictionary).IsAssignableFrom(objectType);
public override IDictionary Create(Type objectType) => new Dictionary(StringComparer.OrdinalIgnoreCase);
}
}