/// <summary> /// Constructor /// </summary> /// <param name="token"></param> /// <param name="classApi"></param> public MethodApi(JToken token, ClassApi classApi) { MethodType = token["method"].ToString(); MethodName = token["name"].ToString(); Comment = token["description"] + ""; ClassApi = classApi; var returns = token["returns"]; if (returns != null) { ReturnType = returns["type"] + ""; if (returns["properties"] != null) { ReturnParameters.AddRange(returns["properties"] .Select(a => new ParameterApi(a.Parent[((JProperty)a).Name])) .ToArray()); } else if (returns["items"] != null && returns["items"]["properties"] != null) { ReturnParameters.AddRange(returns["items"]["properties"] .Select(a => new ParameterApi(a.Parent[((JProperty)a).Name])) .ToArray()); } if (returns["links"] != null) { ReturnLinkHRef = returns["links"][0]["href"].ToString(); ReturnLinkRel = returns["links"][0]["rel"].ToString(); } } if (token["parameters"] != null && token["parameters"]["properties"] != null) { Parameters.AddRange(token["parameters"]["properties"] .Select(a => new ParameterApi(a.Parent[((JProperty)a).Name])) .ToArray()); } ReturnIsArray = ReturnType == "array"; ReturnIsNull = ReturnType == "null"; }