updated SimpleJson to 0.30.0

This commit is contained in:
Brendan Forster
2014-01-23 14:49:35 -08:00
parent f69404cd03
commit 09a0ea6c56
8 changed files with 34 additions and 52 deletions

View File

@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using Octokit.Reflection;
namespace Octokit.Internal
{
@@ -64,15 +65,6 @@ namespace Octokit.Internal
var stringValue = value as string;
if (stringValue != null)
{
if (ReflectionUtils.IsUri(type))
{
Uri result;
if (Uri.TryCreate(stringValue, UriKind.RelativeOrAbsolute, out result))
{
return result;
}
}
if (ReflectionUtils.GetTypeInfo(type).IsEnum)
{
// remove '-' from values coming in to be able to enum utf-8

View File

@@ -17,7 +17,7 @@
// <website>https://github.com/facebook-csharp-sdk/simple-json</website>
//-----------------------------------------------------------------------
// VERSION: 0.28.0
// VERSION: 0.30.0
// NOTE: uncomment the following line to make SimpleJson class internal.
//#define SIMPLE_JSON_INTERNAL
@@ -63,7 +63,7 @@ using System.Globalization;
using System.Reflection;
using System.Runtime.Serialization;
using System.Text;
using Octokit.Internal;
using Octokit.Reflection;
// ReSharper disable LoopCanBeConvertedToQuery
// ReSharper disable RedundantExplicitArrayCreation
@@ -1308,6 +1308,14 @@ namespace Octokit
return DateTimeOffset.ParseExact(str, Iso8601Format, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal | DateTimeStyles.AdjustToUniversal);
if (type == typeof(Guid) || (ReflectionUtils.IsNullableType(type) && Nullable.GetUnderlyingType(type) == typeof(Guid)))
return new Guid(str);
if (type == typeof(Uri))
{
bool isValid = Uri.IsWellFormedUriString(str, UriKind.RelativeOrAbsolute);
Uri result;
if (isValid && Uri.TryCreate(str, UriKind.RelativeOrAbsolute, out result))
return result;
}
return str;
}
else
@@ -1539,7 +1547,7 @@ namespace Octokit
#endif
namespace Internal
namespace Reflection
{
// This class is meant to be copied into other libraries. So we want to exclude it from Code Analysis rules
// that might be in place in the target project.
@@ -1667,11 +1675,6 @@ namespace Octokit
return GetTypeInfo(type).IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>);
}
public static bool IsUri(Type type)
{
return GetTypeInfo(type) == GetTypeInfo(typeof(Uri));
}
public static object ToNullableType(object obj, Type nullableType)
{
return obj == null ? null : Convert.ChangeType(obj, Nullable.GetUnderlyingType(nullableType), CultureInfo.InvariantCulture);
@@ -1723,41 +1726,12 @@ namespace Octokit
public static IEnumerable<PropertyInfo> GetProperties(Type type)
{
#if SIMPLE_JSON_TYPEINFO
var typeInfo = type.GetTypeInfo();
var properties = typeInfo.DeclaredProperties;
if(typeInfo.BaseType == null)
{
return properties;
}
var result = new List<PropertyInfo>();
foreach (var property in properties)
{
result.Add(property);
}
var baseProperties = GetProperties(typeInfo.BaseType);
foreach (var property in baseProperties)
{
result.Add(property);
}
return result;
return type.GetTypeInfo().DeclaredProperties;
#else
return type.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static);
#endif
}
public static IList<PropertyInfo> Build(IEnumerable<PropertyInfo> properties)
{
var propertyList = new List<PropertyInfo>();
foreach (var property in properties)
{
propertyList.Add(property);
}
return propertyList;
}
public static IEnumerable<FieldInfo> GetFields(Type type)
{
#if SIMPLE_JSON_TYPEINFO

View File

@@ -5,5 +5,5 @@
<package id="Rx-Linq" version="2.1.30214.0" targetFramework="net40" requireReinstallation="True" />
<package id="Rx-Main" version="2.1.30214.0" targetFramework="net40" />
<package id="Rx-PlatformServices" version="2.1.30214.0" targetFramework="net40" requireReinstallation="True" />
<package id="SimpleJson" version="0.28.0" targetFramework="net40" developmentDependency="true" />
<package id="SimpleJson" version="0.30.0" targetFramework="net45" developmentDependency="true" />
</packages>

Binary file not shown.

View File

@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>SimpleJson</id>
<version>0.28.0</version>
<version>0.30.0</version>
<authors>Jim Zimmerman, Nathan Totten, Prabir Shrestha</authors>
<owners>Jim Zimmerman, Nathan Totten, Prabir Shrestha</owners>
<licenseUrl>https://raw.github.com/facebook-csharp-sdk/simple-json/master/LICENSE.txt</licenseUrl>

View File

@@ -1,6 +1,6 @@
# SimpleJson https://github.com/facebook-csharp-sdk/simple-json
# License: MIT License
# Version: 0.28.0
# Version: 0.30.0
function ConvertFrom-Json
{
@@ -87,7 +87,7 @@ $source = @"
// <website>https://github.com/facebook-csharp-sdk/simple-json</website>
//-----------------------------------------------------------------------
// VERSION: 0.28.0
// VERSION: 0.30.0
// NOTE: uncomment the following line to make SimpleJson class internal.
//#define SIMPLE_JSON_INTERNAL
@@ -1378,6 +1378,14 @@ namespace SimpleJson
return DateTimeOffset.ParseExact(str, Iso8601Format, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal | DateTimeStyles.AdjustToUniversal);
if (type == typeof(Guid) || (ReflectionUtils.IsNullableType(type) && Nullable.GetUnderlyingType(type) == typeof(Guid)))
return new Guid(str);
if (type == typeof(Uri))
{
bool isValid = Uri.IsWellFormedUriString(str, UriKind.RelativeOrAbsolute);
Uri result;
if (isValid && Uri.TryCreate(str, UriKind.RelativeOrAbsolute, out result))
return result;
}
return str;
}
else

View File

@@ -17,7 +17,7 @@
// <website>https://github.com/facebook-csharp-sdk/simple-json</website>
//-----------------------------------------------------------------------
// VERSION: 0.28.0
// VERSION: 0.30.0
// NOTE: uncomment the following line to make SimpleJson class internal.
//#define SIMPLE_JSON_INTERNAL
@@ -1308,6 +1308,14 @@ namespace $rootnamespace$
return DateTimeOffset.ParseExact(str, Iso8601Format, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal | DateTimeStyles.AdjustToUniversal);
if (type == typeof(Guid) || (ReflectionUtils.IsNullableType(type) && Nullable.GetUnderlyingType(type) == typeof(Guid)))
return new Guid(str);
if (type == typeof(Uri))
{
bool isValid = Uri.IsWellFormedUriString(str, UriKind.RelativeOrAbsolute);
Uri result;
if (isValid && Uri.TryCreate(str, UriKind.RelativeOrAbsolute, out result))
return result;
}
return str;
}
else