private string FormatScalarPropertyValue (JToken value)
{
switch (value.Type) {
case JTokenType.Integer:
case JTokenType.Float:
case JTokenType.Boolean:
case JTokenType.Date:
case JTokenType.Guid:
case JTokenType.Uri:
case JTokenType.TimeSpan:
return ((JValue)value).ToString(CultureInfo.InvariantCulture);
case JTokenType.String:
return MarkupAliases.Aggregate((string)value, (v, alias) => v.Replace(alias[0], alias[1]));
case JTokenType.Null:
return "{x:Null}";
default:
throw new ArgumentOutOfRangeException("value");
}
}