Example #1
0
        public ClientTypesExporter(CsharpTypeInfoProvider typeInfoProvider, ClientTypescriptGenerator scriptGenerator)
        {
            _scriptGenerator = scriptGenerator;
            var d = TypeScript.Definitions(scriptGenerator)
                    .WithTypeFormatter(FormatType)
                    .WithMemberFormatter(FormatMember)
                    .WithMemberTypeFormatter(FormatMemberType)
                    .WithVisibility((@class, name) => false)
                    .AsConstEnums(false)
                    .For <DateInterval>()
                    .For <AnalyzerBase>()
                    .WithModuleNameFormatter(module => string.Empty);

            _definitions = typeInfoProvider.ExposedTypes.Aggregate(d, (def, t) => def.For(t));
        }
Example #2
0
        private static int Generate(string definitionFile, string nestSourceFolder, RestSpec restSpec)
        {
            var sourceDirectory  = new CSharpSourceDirectory(nestSourceFolder);
            var typeInfoProvider = new CsharpTypeInfoProvider();
            var scriptGenerator  = new ClientTypescriptGenerator(typeInfoProvider, sourceDirectory, restSpec);

            using (var pbar = new ProgressBar(3, "Generating typescript information from NEST sources/code", new ProgressBarOptions {
                ForegroundColor = ConsoleColor.Yellow
            }))
            {
                var generator = new ClientTypesExporter(typeInfoProvider, scriptGenerator);
                File.WriteAllText(definitionFile, generator.Generate());
                pbar.Tick($"Generated {definitionFile}");
                GenerateLineScrubber.LineBasedHacks(definitionFile);
                pbar.Tick($"Performed line based scrubber over {definitionFile}");
                GeneratePrependDefinitions.PrependDefinitions(definitionFile);
                pbar.Tick($"Prepended known types and annotations {definitionFile}");
                return(0);
            }
        }
Example #3
0
 public ClientTypescriptGenerator(CsharpTypeInfoProvider typeInfoProvider, CSharpSourceDirectory sourceDirectory, RestSpec restSpec)
 {
     _typeInfoProvider = typeInfoProvider;
     _sourceDirectory  = sourceDirectory;
     _restSpec         = restSpec;
 }