private string GetTargetName(bool js) { var t = CodeName.ToLowerInvariant().TrimEnd('?'); switch (t) { case "int16": case "int32": case "int64": case "short": case "int": case "long": case "float": case "double": case "decimal": case "biginteger": return(js ? "Number" : "number"); case "datetime": case "datetimeoffset": case "system.datetime": case "system.datetimeoffset": return("Date"); case "string": return(js ? "String" : "string"); case "bool": case "boolean": return(js ? "Boolean" : "boolean"); } return(js ? "Object" : GetComplexTypeScriptName()); }
private string GetKVPTypes() { var type = CodeName.ToLowerInvariant().TrimEnd('?'); var types = type.Split('<', '>')[1].Split(','); string keyType = GetTargetName(types[0].Trim(), false); if (keyType != "string" && keyType != "number") { // only string or number are allowed for keys keyType = "string"; } string valueType = GetTargetName(types[1].Trim(), false); return(string.Format(CultureInfo.CurrentCulture, "{{ [index: {0}]: {1} }}", keyType, valueType)); }