public static string DecodeRaml1Type(string type) { // TODO: can I handle this better ? if (type.Contains("(") || type.Contains("|")) { return("object"); } if (type.EndsWith("[][]")) // array of arrays { var strippedType = type.Substring(0, type.Length - 4); if (NewNetTypeMapper.Map(strippedType) == null) { strippedType = NetNamingMapper.GetObjectName(strippedType); } var decodeRaml1Type = CollectionTypeHelper.GetCollectionType(CollectionTypeHelper.GetCollectionType(strippedType)); return(decodeRaml1Type); } if (type.EndsWith("[]")) // array { var strippedType = type.Substring(0, type.Length - 2); if (NewNetTypeMapper.Map(strippedType) == null) { strippedType = NetNamingMapper.GetObjectName(strippedType); } var decodeRaml1Type = CollectionTypeHelper.GetCollectionType(strippedType); return(decodeRaml1Type); } if (type.EndsWith("{}")) // Map { var subtype = type.Substring(0, type.Length - 2); var netType = NewNetTypeMapper.Map(subtype); if (netType != null) { return("IDictionary<string, " + netType + ">"); } return("IDictionary<string, " + NetNamingMapper.GetObjectName(subtype) + ">"); } if (CollectionTypeHelper.IsCollection(type)) { return(type); } return(NetNamingMapper.GetObjectName(type)); }
private string DecodeResponseRaml1Type(string type) { // TODO: can I handle this better ? if (type.Contains("(") || type.Contains("|")) { return("string"); } if (type.EndsWith("[][]")) // array of arrays { var subtype = type.Substring(0, type.Length - 4); if (NewNetTypeMapper.IsPrimitiveType(subtype)) { subtype = NewNetTypeMapper.Map(subtype); } else { subtype = NetNamingMapper.GetObjectName(subtype); } return(CollectionTypeHelper.GetCollectionType(CollectionTypeHelper.GetCollectionType(subtype))); } if (type.EndsWith("[]")) // array { var subtype = type.Substring(0, type.Length - 2); if (NewNetTypeMapper.IsPrimitiveType(subtype)) { subtype = NewNetTypeMapper.Map(subtype); } else { subtype = NetNamingMapper.GetObjectName(subtype); } return(CollectionTypeHelper.GetCollectionType(subtype)); } if (type.EndsWith("{}")) // Map { var subtype = type.Substring(0, type.Length - 2); var netType = NewNetTypeMapper.Map(subtype); if (!string.IsNullOrWhiteSpace(netType)) { return("IDictionary<string, " + netType + ">"); } var objectType = GetReturnTypeFromName(subtype); if (!string.IsNullOrWhiteSpace(objectType)) { return("IDictionary<string, " + objectType + ">"); } return("IDictionary<string, object>"); } if (NewNetTypeMapper.IsPrimitiveType(type)) { return(NewNetTypeMapper.Map(type)); } return(type); }