using FlutterCodeGenerator.Helper; using System; using System.Collections.Generic; namespace FlutterCodeGenerator.ModelTypes { internal class DictionaryModelType : SimpleModelType { public List GenericArgumentModelTypeList; public DictionaryModelType(Type type, string name) : base(type, name) { GenericArgumentModelTypeList = new List(); foreach (var argumentType in type.GetGenericArguments()) { var modelType = ModelTypeGenerator.Create(argumentType, ""); GenericArgumentModelTypeList.Add(modelType); } } public override string GetFlutterTypeName(bool isDefault = true, bool isGenericName = false, bool isSingle = false) { if (isDefault) { return "Map<" + GenericArgumentModelTypeList[0].GetFlutterTypeName() + "," + GenericArgumentModelTypeList[1].GetFlutterTypeName() + ">"; } if (isSingle) { return "Map"; } return "Map<" + GenericArgumentModelTypeList[0].GetFlutterTypeName() + "," + GenericArgumentModelTypeList[1].GetFlutterTypeName() + ">"; } } }