in Microsoft.Shared.Dna.Json/JsonBuilder.cs [746:772]
private bool PrepareValue(int reserve, out int rollback)
{
rollback = this.builder.Length;
if (this.truncated)
{
return false;
}
switch (this.Current)
{
case JsonTokenType.None:
return this.builder.Length == 0;
case JsonTokenType.BeginArray:
if (this.builder.Last != JsonConstants.ArrayHeader)
{
return this.builder.TryAppend(JsonConstants.ElementSeparator, reserve, out rollback);
}
return true;
case JsonTokenType.BeginObject:
return false;
case JsonTokenType.BeginProperty:
return this.builder.Last == JsonConstants.NameValueSeparator;
}
return false;
}