/// <summary> /// Converts a JSONProto into a List of BasicObjectDefines. /// </summary> /// <param name="jsonProto">The JSON proto to convert.</param> /// <param name="outProto">The list that will receive the results.</param> private void ParseProto(Dictionary <string, string> jsonProto, List <BasicObjectDefine> outProto) { outProto.Clear(); foreach (var data in jsonProto) { BasicObjectDefine obj = new BasicObjectDefine(); string dataType; obj.name = data.Key; GetTypeCountFromString(data.Value, out dataType, out obj.count); if (!ValidateBaseType(dataType)) { if (!ValidateComplexType(dataType)) { throw new Exception($"Invalid type specified. {dataType}"); } } obj.type = dataType; outProto.Add(obj); } }
/// <summary> /// Convert a JSONTypedef into a ListObjectDefine and store it /// inside the Typedef array. /// </summary> /// <param name="typedef">A JSON Typedef object.</param> private void ParseTypedef(JSONTypedef typedef) { ListObjectDefine obj = new ListObjectDefine(); obj.name = typedef.name; obj.list = new List <BasicObjectDefine>(); foreach (var data in typedef.content) { BasicObjectDefine cobj = new BasicObjectDefine(); cobj.name = data.Key; string typeName; GetTypeCountFromString(data.Value, out typeName, out cobj.count); if (!ValidateBaseType(typeName)) { throw new Exception($"Invalid type or complex type {typeName} in typedef {obj.name}"); } cobj.type = typeName; obj.list.Add(cobj); } Typedefs.Add(obj); }