You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.5 KiB

using System;
namespace Newtonsoft.Json.Linq
{
/// <summary>
/// Specifies the settings used when merging JSON.
/// </summary>
internal class JsonMergeSettings
{
private MergeArrayHandling _mergeArrayHandling;
private MergeNullValueHandling _mergeNullValueHandling;
/// <summary>
/// Gets or sets the method used when merging JSON arrays.
/// </summary>
/// <value>The method used when merging JSON arrays.</value>
public MergeArrayHandling MergeArrayHandling
{
get => _mergeArrayHandling;
set
{
if (value < MergeArrayHandling.Concat || value > MergeArrayHandling.Merge)
{
throw new ArgumentOutOfRangeException(nameof(value));
}
_mergeArrayHandling = value;
}
}
/// <summary>
/// Gets or sets how null value properties are merged.
/// </summary>
/// <value>How null value properties are merged.</value>
public MergeNullValueHandling MergeNullValueHandling
{
get => _mergeNullValueHandling;
set
{
if (value < MergeNullValueHandling.Ignore || value > MergeNullValueHandling.Merge)
{
throw new ArgumentOutOfRangeException(nameof(value));
}
_mergeNullValueHandling = value;
}
}
}
}