public void GeneratorEnumCode_ReturnCorrectly() { var generatedCode = _generator.Generate(typeof(TestEnum1)); var sampleCode = "export enum TestEnum1 {\r\n NSW = 0,\r\n ACT = 1,\r\n VIC = 2\r\n}\r\nexport const TestEnum1Array = [\r\n 'NSW',\r\n 'ACT',\r\n 'VIC',\r\n];\r\n"; Assert.Equal(sampleCode, generatedCode); }
private void GenerateCode() { try { _codeWriter.DeleteGeneratedFiles(); foreach (var item in _schema.Enums) { EnumCodeGenerator.Generate(item, Settings); } foreach (var item in _schema.Structs) { if (string.IsNullOrEmpty(item.switchEnum)) { ObjectCodeGenerator.Generate(item, ObjectType.SimpleStruct, Settings); } else { ObjectCodeGenerator.Generate(item, ObjectType.MutableStruct, Settings); } } foreach (var item in _schema.Configurations) { ObjectCodeGenerator.Generate(item, ObjectType.SimpleObject, Settings); DatabaseCodeGenerator.AddConfiguration(item.name, item.typeid); } foreach (var item in _schema.Objects) { if (string.IsNullOrEmpty(item.switchEnum)) { ObjectCodeGenerator.Generate(item, ObjectType.SimpleObject, Settings); } else { ObjectCodeGenerator.Generate(item, ObjectType.MutableObject, Settings); } DatabaseCodeGenerator.AddClass(item.name, item.typeid); } DatabaseCodeGenerator.Generate(Settings); } catch (Exception e) { Debug.LogError("Code generation falied"); Debug.LogException(e); _codeWriter.DeleteGeneratedFiles(); } }
public string GenerateTypeScript(IEnumerable <Type> types) { var managedTypes = _managedTypeConvertor.Generate(types); var codeBuilder = new StringBuilder(); codeBuilder.Append(_assemblyHelper.GetAssemblyContent()); codeBuilder.Append(_assemblyHelper.GetSectionSeparator("Enums")); managedTypes.Where(x => x.Category == Enums.TypeCategory.Enum).ToList().ForEach(x => codeBuilder.AppendLine(_enumGenerator.Generate(x.Type)) ); codeBuilder.Append(_assemblyHelper.GetSectionSeparator("Classes")); managedTypes.Where(x => x.Category == Enums.TypeCategory.Object).ToList().ForEach(x => codeBuilder.AppendLine(_objectGenerator.Generate(x.Type)) ); return(codeBuilder.ToString()); }