|
@@ -65,23 +65,23 @@ namespace FlutterCodeGenerator
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class StringModeType : SimpleModelType
|
|
|
+ public class StringModelType : SimpleModelType
|
|
|
{
|
|
|
- public StringModeType(string name) : base(typeof(string), name)
|
|
|
+ public StringModelType(string name) : base(typeof(string), name)
|
|
|
{
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class DateTimeModeType : SimpleModelType
|
|
|
+ public class DateTimeModelType : SimpleModelType
|
|
|
{
|
|
|
- public DateTimeModeType(string name) : base(typeof(DateTime), name)
|
|
|
+ public DateTimeModelType(string name) : base(typeof(DateTime), name)
|
|
|
{
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class IntModeType : SimpleModelType
|
|
|
+ public class IntModelType : SimpleModelType
|
|
|
{
|
|
|
- public IntModeType(string name) : base(typeof(int), name)
|
|
|
+ public IntModelType(string name) : base(typeof(int), name)
|
|
|
{
|
|
|
DefaultValue = "0";
|
|
|
}
|
|
@@ -92,9 +92,9 @@ namespace FlutterCodeGenerator
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class IntNullableModeType : SimpleModelType
|
|
|
+ public class IntNullableModelType : SimpleModelType
|
|
|
{
|
|
|
- public IntNullableModeType(string name) : base(typeof(int?), name)
|
|
|
+ public IntNullableModelType(string name) : base(typeof(int?), name)
|
|
|
{
|
|
|
}
|
|
|
|
|
@@ -141,9 +141,9 @@ namespace FlutterCodeGenerator
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class DoubleModeType : SimpleModelType
|
|
|
+ public class DoubleModelType : SimpleModelType
|
|
|
{
|
|
|
- public DoubleModeType(string name) : base(typeof(double), name)
|
|
|
+ public DoubleModelType(string name) : base(typeof(double), name)
|
|
|
{
|
|
|
DefaultValue = "0";
|
|
|
}
|
|
@@ -154,9 +154,9 @@ namespace FlutterCodeGenerator
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class DoubleNullableModeType : SimpleModelType
|
|
|
+ public class DoubleNullableModelType : SimpleModelType
|
|
|
{
|
|
|
- public DoubleNullableModeType(string name) : base(typeof(double?), name)
|
|
|
+ public DoubleNullableModelType(string name) : base(typeof(double?), name)
|
|
|
{
|
|
|
}
|
|
|
|
|
@@ -166,9 +166,9 @@ namespace FlutterCodeGenerator
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class BoolModeType : SimpleModelType
|
|
|
+ public class BoolModelType : SimpleModelType
|
|
|
{
|
|
|
- public BoolModeType(string name) : base(typeof(bool), name)
|
|
|
+ public BoolModelType(string name) : base(typeof(bool), name)
|
|
|
{
|
|
|
DefaultValue = "false";
|
|
|
}
|
|
@@ -179,9 +179,9 @@ namespace FlutterCodeGenerator
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class BoolNullableModeType : SimpleModelType
|
|
|
+ public class BoolNullableModelType : SimpleModelType
|
|
|
{
|
|
|
- public BoolNullableModeType(string name) : base(typeof(bool?), name)
|
|
|
+ public BoolNullableModelType(string name) : base(typeof(bool?), name)
|
|
|
{
|
|
|
}
|
|
|
|
|
@@ -191,6 +191,13 @@ namespace FlutterCodeGenerator
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public class InterfaceModelType : SimpleModelType
|
|
|
+ {
|
|
|
+ public InterfaceModelType(string name) : base(typeof(string), name)
|
|
|
+ {
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public class ExtraObjectModelType : SimpleModelType
|
|
|
{
|
|
|
public ExtraObjectModelType(Type type, string name) : base(type, name)
|
|
@@ -214,7 +221,7 @@ namespace FlutterCodeGenerator
|
|
|
source.AppendLine("\t\tfinal map = Map<String, dynamic>();");
|
|
|
foreach (var child in Children)
|
|
|
{
|
|
|
- if (child is EnumModeType)
|
|
|
+ if (child is EnumModelType)
|
|
|
{
|
|
|
source.AppendLine($"\t\tmap['{child.Name_Upper}'] = {child.Name_Lower}.index;");
|
|
|
}
|
|
@@ -222,7 +229,7 @@ namespace FlutterCodeGenerator
|
|
|
{
|
|
|
source.AppendLine($"\t\tmap['{child.Name_Upper}'] = {child.Name_Lower};");
|
|
|
}
|
|
|
- else if (child is DateTimeModeType)
|
|
|
+ else if (child is DateTimeModelType)
|
|
|
{
|
|
|
source.AppendLine($"\t\tif({child.Name_Lower} != null)");
|
|
|
source.AppendLine($"\t\t\tmap['{child.Name_Upper}'] = JsonRpcUtils.dateFormat({child.Name_Lower}!);");
|
|
@@ -312,7 +319,7 @@ namespace FlutterCodeGenerator
|
|
|
source.AppendLine($"\t\treturn {flutterTypeName}( ");
|
|
|
foreach (var child in Children)
|
|
|
{
|
|
|
- if (child is EnumModeType)
|
|
|
+ if (child is EnumModelType)
|
|
|
{
|
|
|
source.AppendLine($"\t\t\t{child.Name_Lower}: {child.GetFlutterTypeName()}.values.firstWhere((e) => e.index == map['{child.Name_Upper}']),");
|
|
|
}
|
|
@@ -338,7 +345,7 @@ namespace FlutterCodeGenerator
|
|
|
source.AppendLine($"\t\t\t{child.Name_Lower}: {child.Name_Lower}Data != null ? ({child.Name_Lower}Data as List).map((e) => {child.ParameterType.Name.Replace("[]", string.Empty)}.fromJson(e)).toList(): null,");
|
|
|
}
|
|
|
}
|
|
|
- else if (child is DateTimeModeType)
|
|
|
+ else if (child is DateTimeModelType)
|
|
|
{
|
|
|
source.AppendLine($"\t\t\t{child.Name_Lower}: map['{child.Name_Upper}'] != null ? DateTime.parse(map['{child.Name_Upper}']) : null,");
|
|
|
}
|
|
@@ -355,7 +362,7 @@ namespace FlutterCodeGenerator
|
|
|
var model = listModelType.GenericArgumentModelType.GetFlutterTypeName();
|
|
|
source.AppendLine($"\t\t\t{child.Name_Lower}: map['{child.Name_Upper}'] != null ? map['{child.Name_Upper}'].cast<{model}>().toList() : null,");
|
|
|
}
|
|
|
- else if (listModelType.GenericArgumentModelType is EnumModeType)
|
|
|
+ else if (listModelType.GenericArgumentModelType is EnumModelType)
|
|
|
{
|
|
|
var model = listModelType.GenericArgumentModelType.GetFlutterTypeName();
|
|
|
source.AppendLine($"\t\t\t{child.Name_Lower}: map['{child.Name_Upper}'] != null ? (map['{child.Name_Upper}'] as List).map((e)=>{model}.values.firstWhere((i) => i.index == e)).toList() : null,");
|
|
@@ -377,7 +384,7 @@ namespace FlutterCodeGenerator
|
|
|
var model = listModelType.GenericArgumentModelType.GetFlutterTypeName();
|
|
|
source.AppendLine($"\t\t\t{child.Name_Lower}: map['{child.Name_Upper}'] != null ? map['{child.Name_Upper}'].cast<{model}>().toList() : null,");
|
|
|
}
|
|
|
- else if (listModelType.GenericArgumentModelType is EnumModeType)
|
|
|
+ else if (listModelType.GenericArgumentModelType is EnumModelType)
|
|
|
{
|
|
|
var model = listModelType.GenericArgumentModelType.GetFlutterTypeName();
|
|
|
source.AppendLine($"\t\t\t{child.Name_Lower}: map['{child.Name_Upper}'] != null ? (map['{child.Name_Upper}'] as List).map((e)=>{model}.values.firstWhere((i) => i.index == e)).toList() : null,");
|
|
@@ -388,14 +395,14 @@ namespace FlutterCodeGenerator
|
|
|
source.AppendLine($"\t\t\t{child.Name_Lower}: map['{child.Name_Upper}'] != null ? (map['{child.Name_Upper}'] as List).map((e)=>{model}.fromJson(e as Map<String,dynamic>)).toList() : null,");
|
|
|
}
|
|
|
}
|
|
|
- else if (this is UserDefinedModeType || this is UserDefinedDerivedModelType)
|
|
|
+ else if (this is UserDefinedModelType || this is UserDefinedDerivedModelType)
|
|
|
{
|
|
|
if (listModelType.GenericArgumentModelType is SimpleModelType && !(listModelType.GenericArgumentModelType is ExtraObjectModelType))
|
|
|
{
|
|
|
var model = listModelType.GenericArgumentModelType.GetFlutterTypeName();
|
|
|
source.AppendLine($"\t\t\t{child.Name_Lower}: map['{child.Name_Upper}'] != null ? map['{child.Name_Upper}'].cast<{model}>().toList() : null,");
|
|
|
}
|
|
|
- else if (listModelType.GenericArgumentModelType is EnumModeType)
|
|
|
+ else if (listModelType.GenericArgumentModelType is EnumModelType)
|
|
|
{
|
|
|
var model = listModelType.GenericArgumentModelType.GetFlutterTypeName();
|
|
|
source.AppendLine($"\t\t\t{child.Name_Lower}: map['{child.Name_Upper}'] != null ? (map['{child.Name_Upper}'] as List).map((e)=>{model}.values.firstWhere((i) => i.index == e)).toList() : null,");
|
|
@@ -426,7 +433,7 @@ namespace FlutterCodeGenerator
|
|
|
var model = userDefinedGenericModelType.GenericArgumentModelType.GetFlutterTypeName();
|
|
|
source.AppendLine($"\t\t\t{child.Name_Lower}: map['{child.Name_Upper}'] != null ? map['{child.Name_Upper}'].cast<{model}>().toList() : null,");
|
|
|
}
|
|
|
- else if (userDefinedGenericModelType.GenericArgumentModelType is EnumModeType)
|
|
|
+ else if (userDefinedGenericModelType.GenericArgumentModelType is EnumModelType)
|
|
|
{
|
|
|
var model = userDefinedGenericModelType.GenericArgumentModelType.GetFlutterTypeName();
|
|
|
source.AppendLine($"\t\t\t{child.Name_Lower}: map['{child.Name_Upper}'] != null ? (map['{child.Name_Upper}'] as List).map((e)=>{model}.values.firstWhere((i) => i.index == e)).toList() : null,");
|
|
@@ -437,14 +444,14 @@ namespace FlutterCodeGenerator
|
|
|
source.AppendLine($"\t\t\t{child.Name_Lower}: map['{child.Name_Upper}'] != null ? (map['{child.Name_Upper}'] as List).map((e)=>{model}.fromJson(e as Map<String,dynamic>)).toList() : null,");
|
|
|
}
|
|
|
}
|
|
|
- else if (this is UserDefinedModeType)
|
|
|
+ else if (this is UserDefinedModelType)
|
|
|
{
|
|
|
if (userDefinedGenericModelType.GenericArgumentModelType is SimpleModelType && !(userDefinedGenericModelType.GenericArgumentModelType is ExtraObjectModelType))
|
|
|
{
|
|
|
var model = userDefinedGenericModelType.GenericArgumentModelType.GetFlutterTypeName();
|
|
|
source.AppendLine($"\t\t\t{child.Name_Lower}: map['{child.Name_Upper}'] != null ? map['{child.Name_Upper}'].cast<{model}>().toList() : null,");
|
|
|
}
|
|
|
- else if (userDefinedGenericModelType.GenericArgumentModelType is EnumModeType)
|
|
|
+ else if (userDefinedGenericModelType.GenericArgumentModelType is EnumModelType)
|
|
|
{
|
|
|
var model = userDefinedGenericModelType.GenericArgumentModelType.GetFlutterTypeName();
|
|
|
source.AppendLine($"\t\t\t{child.Name_Lower}: map['{child.Name_Upper}'] != null ? (map['{child.Name_Upper}'] as List).map((e)=>{model}.values.firstWhere((i) => i.index == e)).toList() : null,");
|
|
@@ -456,11 +463,11 @@ namespace FlutterCodeGenerator
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- else if (child is UserDefinedModeType || child is UserDefinedDerivedModelType)
|
|
|
+ else if (child is UserDefinedModelType || child is UserDefinedDerivedModelType)
|
|
|
{
|
|
|
source.AppendLine($"\t\t\t{child.Name_Lower}: map['{child.Name_Upper}'] != null ? {child.GetFlutterTypeName()}.fromJson(map['{child.Name_Upper}']) : null,");
|
|
|
}
|
|
|
- else if (child is DoubleModeType)
|
|
|
+ else if (child is DoubleModelType)
|
|
|
{
|
|
|
source.AppendLine($"\t\t\t{child.Name_Lower}: double.parse(map['{child.Name_Upper}'].toString()),");
|
|
|
}
|
|
@@ -476,11 +483,11 @@ namespace FlutterCodeGenerator
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class EnumModeType : ComplexModelType
|
|
|
+ public class EnumModelType : ComplexModelType
|
|
|
{
|
|
|
private Dictionary<int, string> _userDefinedEnumDictionary;
|
|
|
|
|
|
- public EnumModeType(Type type, string name) : base(type, name)
|
|
|
+ public EnumModelType(Type type, string name) : base(type, name)
|
|
|
{
|
|
|
_userDefinedEnumDictionary = new Dictionary<int, string>();
|
|
|
var fields = ParameterType.GetFields();
|
|
@@ -739,9 +746,9 @@ namespace FlutterCodeGenerator
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class UserDefinedModeType : ComplexModelType
|
|
|
+ public class UserDefinedModelType : ComplexModelType
|
|
|
{
|
|
|
- public UserDefinedModeType(Type type, string name) : base(type, name)
|
|
|
+ public UserDefinedModelType(Type type, string name) : base(type, name)
|
|
|
{
|
|
|
var properties = type.GetProperties();
|
|
|
foreach (var property in properties)
|
|
@@ -986,7 +993,7 @@ namespace FlutterCodeGenerator
|
|
|
{
|
|
|
if (!complexModelType.Children.Any(x => x.ParameterType == child.ParameterType && x.Name_Upper == child.Name_Upper))
|
|
|
{
|
|
|
- if (child is EnumModeType)
|
|
|
+ if (child is EnumModelType)
|
|
|
{
|
|
|
source.AppendLine($"\t\tmap['{child.Name_Upper}'] = {child.Name_Lower}.index;");
|
|
|
}
|
|
@@ -994,7 +1001,7 @@ namespace FlutterCodeGenerator
|
|
|
{
|
|
|
source.AppendLine($"\t\tmap['{child.Name_Upper}'] = {child.Name_Lower};");
|
|
|
}
|
|
|
- else if (child is DateTimeModeType)
|
|
|
+ else if (child is DateTimeModelType)
|
|
|
{
|
|
|
source.AppendLine($"\t\tif({child.Name_Lower} != null)");
|
|
|
source.AppendLine($"\t\t\tmap['{child.Name_Upper}'] = JsonRpcUtils.dateFormat({child.Name_Lower}!);");
|
|
@@ -1012,4 +1019,4 @@ namespace FlutterCodeGenerator
|
|
|
return source.ToString();
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
+}
|