private string GetReturnTypeFromResponseByKey(string key) { ApiObject apiObject = null; if (schemaObjects.ContainsKey(key)) { apiObject = schemaObjects[key]; } if (schemaResponseObjects.ContainsKey(key)) { apiObject = schemaResponseObjects[key]; } var nameKey = NetNamingMapper.GetObjectName(key); if (schemaObjects.ContainsKey(nameKey)) { apiObject = schemaObjects[nameKey]; } if (schemaResponseObjects.ContainsKey(nameKey)) { apiObject = schemaResponseObjects[nameKey]; } return(RamlTypesHelper.GetTypeFromApiObject(apiObject)); }
//private string GetParamType(MimeType mimeType, ApiObject apiObject) //{ // if (mimeType.Type.Contains("<<") && mimeType.Type.Contains(">>")) // return RamlTypesHelper.GetTypeFromApiObject(apiObject); // return DecodeRequestRaml1Type(mimeType.Type); //} private GeneratorParameter CreateGeneratorParameter(ApiObject apiObject) { var generatorParameter = new GeneratorParameter { Name = apiObject.Name.ToLower(), Type = RamlTypesHelper.GetTypeFromApiObject(apiObject), Description = apiObject.Description }; return(generatorParameter); }
private string GetReturnTypeFromName(string type) { var toLower = type.ToLowerInvariant(); toLower = toLower.Replace(".", string.Empty); if (schemaObjects.Values.Any(o => o.Name.ToLowerInvariant() == toLower)) { var apiObject = schemaObjects.Values.First(o => o.Name.ToLowerInvariant() == toLower); return(RamlTypesHelper.GetTypeFromApiObject(apiObject)); } if (schemaResponseObjects.Values.Any(o => o.Name.ToLowerInvariant() == toLower)) { var apiObject = schemaResponseObjects.Values.First(o => o.Name.ToLowerInvariant() == toLower); return(RamlTypesHelper.GetTypeFromApiObject(apiObject)); } return(string.Empty); }
private string GetReturnTypeFromParameter(Operation method, EndPoint resource, string fullUrl, string schema) { var type = schemaParameterParser.Parse(schema, resource, method, fullUrl); if (schemaObjects.Values.Any(o => o.Name.ToLowerInvariant() == type.ToLowerInvariant())) { var apiObject = schemaObjects.Values .First(o => o.Name.ToLowerInvariant() == type.ToLowerInvariant()); return(RamlTypesHelper.GetTypeFromApiObject(apiObject)); } if (schemaResponseObjects.Values.Any(o => o.Name.ToLowerInvariant() == type.ToLowerInvariant())) { var apiObject = schemaResponseObjects.Values .First(o => o.Name.ToLowerInvariant() == type.ToLowerInvariant()); return(RamlTypesHelper.GetTypeFromApiObject(apiObject)); } return(string.Empty); }
private string GetType(Parameter param) { if (param.Schema == null) { return("string"); } if (param.Schema is ScalarShape scalar) { return(NewNetTypeMapper.GetNetType(scalar) + (NewNetTypeMapper.GetNetType(scalar) == "string" || NewNetTypeMapper.GetNetType(scalar) == "object" || param.Required ? "" : "?")); } var pureType = param.Schema.Name; if (schemaObjects.ContainsKey(pureType)) { var apiObject = schemaObjects[pureType]; return(RamlTypesHelper.GetTypeFromApiObject(apiObject)); } return(pureType); }
private string DecodeRequestRaml1Type(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 apiObject = GetRequestApiObjectByName(subtype); if (apiObject != null) { return("IDictionary<string, " + RamlTypesHelper.GetTypeFromApiObject(apiObject) + ">"); } return("IDictionary<string, object>"); } if (NewNetTypeMapper.IsPrimitiveType(type)) { return(NewNetTypeMapper.Map(type)); } if (CollectionTypeHelper.IsCollection(type)) { return(type); } return(NetNamingMapper.GetObjectName(type)); }