예제 #1
0
        public override string GenerateModelIndexDTS()
        {
            TSBuilder builder = new TSBuilder();

            builder.Comment(Settings.Instance.Header);
            builder.Line();
            builder.Import(new[] { "BaseResource", "CloudError" }, "ms-rest-azure");
            builder.ImportAllAs("moment", "moment");
            builder.Line();
            builder.Export(export =>
            {
                export.Export("BaseResource");
                export.Export("CloudError");
            });
            foreach (CompositeTypeJs modelType in OrderedModelTemplateModels)
            {
                builder.Line();
                modelType.GenerateModelDefinition(builder);
            }
            foreach (PageCompositeTypeJsa pageModelType in PageTemplateModels)
            {
                builder.Line();
                pageModelType.GenerateModelDefinition(builder);
            }

            return(builder.ToString());
        }
예제 #2
0
        public override string GenerateMapperIndex()
        {
            TSBuilder builder = new TSBuilder();

            builder.Comment(AutoRest.Core.Settings.Instance.Header);
            builder.Line();

            CompositeTypeTS[] orderedMapperTemplateModels = OrderedMapperTemplateModels.ToArray();

            builder.Import(new[] { "CloudErrorMapper", "BaseResourceMapper" }, "@azure/ms-rest-azure-js");

            ImportMsRestForMappers(builder, orderedMapperTemplateModels);

            builder.Line();

            builder.ExportConst("CloudError", "CloudErrorMapper");
            builder.ExportConst("BaseResource", "BaseResourceMapper");

            ExportOrderedMapperModels(builder, orderedMapperTemplateModels);

            foreach (PageCompositeTypeTSa pageModel in PageTemplateModels)
            {
                builder.Line();
                pageModel.ConstructModelMapper(builder);
            }

            ExportPolymorphicDictionary(builder);

            return(builder.ToString());
        }
예제 #3
0
        public override string GenerateModelIndex()
        {
            TSBuilder builder = new TSBuilder();

            builder.Comment(AutoRest.Core.Settings.Instance.Header);
            builder.Line();
            builder.Line(ConstructRuntimeImportForModelIndex());
            if (ContainsDurationPropertyInModels() || IsAnyModelInheritingFromRequestOptionsBase() || MethodsWithCustomResponseType.Any())
            {
                builder.ImportAllAs("msRest", "@azure/ms-rest-js");
            }
            builder.Line();
            builder.Export("BaseResource", "CloudError");
            foreach (CompositeTypeTS model in OrderedModelTemplateModels)
            {
                builder.Line();
                builder.Line(model.Generate());
            }
            foreach (PageCompositeTypeTSa model in PageTemplateModels)
            {
                builder.Line();
                builder.Line(model.Generate());
            }
            foreach (EnumTypeTS model in EnumTemplateModels)
            {
                builder.Line();
                builder.Line(model.Generate(Settings.EnumTypes));
            }
            builder.Line(GenerateResponseTypes());

            return(builder.ToString());
        }
예제 #4
0
        public virtual string GenerateModelIndexDTS()
        {
            TSBuilder builder = new TSBuilder();

            builder.Comment(Settings.Instance.Header);
            builder.Line();
            builder.ImportAllAs("moment", "moment");
            foreach (CompositeTypeJs modelType in OrderedModelTemplateModels)
            {
                builder.Line();
                modelType.GenerateModelDefinition(builder);
            }

            return(builder.ToString());
        }
예제 #5
0
        public string GenerateMappers()
        {
            TSBuilder builder = new TSBuilder();

            builder.Comment(AutoRest.Core.Settings.Instance.Header);
            builder.Line();
            builder.Line("export {");
            builder.Indent(() =>
            {
                List <string> exportedValues = new List <string>();
                if (!string.IsNullOrWhiteSpace(CodeModelTS.PolymorphicDictionary))
                {
                    exportedValues.Add("discriminators");
                }
                exportedValues.AddRange(OperationModelNames.OrderBy(mapperName => mapperName.ToLowerInvariant()));

                builder.Line(string.Join(",\n", exportedValues));
            });
            builder.Line("} from \"../models/mappers\";");

            return(builder.ToString());
        }