/// <summary>Initializes a new instance of the <see cref="SwaggerToTypeScriptClientGenerator" /> class.</summary> /// <param name="service">The service.</param> /// <param name="settings">The settings.</param> /// <exception cref="System.ArgumentNullException">service</exception> /// <exception cref="ArgumentNullException"><paramref name="service" /> is <see langword="null" />.</exception> public SwaggerToTypeScriptClientGenerator(SwaggerService service, SwaggerToTypeScriptClientGeneratorSettings settings) { if (service == null) throw new ArgumentNullException("service"); Settings = settings; _service = service; foreach (var definition in _service.Definitions) definition.Value.TypeName = definition.Key; _resolver = new TypeScriptTypeResolver(_service.Definitions.Select(p => p.Value).ToArray()); }
public string Gen(SwaggerDocument service, SwaggerToolSettings setting, TypeScriptTemplate Template) { var settings = new SwaggerToTypeScriptClientGeneratorSettings { ClassName =setting.TypeScriptGen.ClassName, Template = Template, PromiseType=PromiseType.Promise, TypeScriptGeneratorSettings=new NJsonSchema.CodeGeneration.TypeScript.TypeScriptGeneratorSettings() { ModuleName= setting.TypeScriptGen.ModuleName } }; var generator = new SwaggerToTypeScriptClientGenerator(service, settings); var code = generator.GenerateFile(); return code; }
/// <summary>Initializes a new instance of the <see cref="SwaggerToTypeScriptClientGenerator" /> class.</summary> /// <param name="document">The Swagger document.</param> /// <param name="settings">The settings.</param> /// <param name="resolver">The resolver.</param> /// <exception cref="ArgumentNullException"><paramref name="document" /> is <see langword="null" />.</exception> public SwaggerToTypeScriptClientGenerator(SwaggerDocument document, SwaggerToTypeScriptClientGeneratorSettings settings, TypeScriptTypeResolver resolver) : base(resolver, settings.CodeGeneratorSettings) { if (document == null) throw new ArgumentNullException(nameof(document)); Settings = settings; _document = document; _resolver = resolver; _resolver.AddGenerators(_document.Definitions); _extensionCode = new TypeScriptExtensionCode( Settings.TypeScriptGeneratorSettings.ExtensionCode, Settings.TypeScriptGeneratorSettings.ExtendedClasses, new[] { Settings.ClientBaseClass }); }
/// <summary>Initializes a new instance of the <see cref="SwaggerToTypeScriptClientGenerator" /> class.</summary> /// <param name="service">The service.</param> /// <param name="settings">The settings.</param> /// <exception cref="System.ArgumentNullException">service</exception> /// <exception cref="ArgumentNullException"><paramref name="service" /> is <see langword="null" />.</exception> public SwaggerToTypeScriptClientGenerator(SwaggerService service, SwaggerToTypeScriptClientGeneratorSettings settings) { if (service == null) { throw new ArgumentNullException(nameof(service)); } Settings = settings; _service = service; foreach (var definition in _service.Definitions.Where(p => string.IsNullOrEmpty(p.Value.TypeNameRaw))) { definition.Value.TypeNameRaw = definition.Key; } _resolver = new TypeScriptTypeResolver(_service.Definitions.Select(p => p.Value).ToArray(), Settings.TypeScriptGeneratorSettings); }
/// <summary>Initializes a new instance of the <see cref="SwaggerToTypeScriptClientGenerator" /> class.</summary> /// <param name="service">The service.</param> /// <param name="settings">The settings.</param> /// <exception cref="System.ArgumentNullException">service</exception> /// <exception cref="ArgumentNullException"><paramref name="service" /> is <see langword="null" />.</exception> public SwaggerToTypeScriptClientGenerator(SwaggerService service, SwaggerToTypeScriptClientGeneratorSettings settings) { if (service == null) { throw new ArgumentNullException("service"); } Settings = settings; _service = service; foreach (var definition in _service.Definitions) { definition.Value.TypeName = definition.Key; } _resolver = new TypeScriptTypeResolver(_service.Definitions.Select(p => p.Value).ToArray()); }
/// <summary>Initializes a new instance of the <see cref="SwaggerToTypeScriptClientGenerator" /> class.</summary> /// <param name="document">The Swagger document.</param> /// <param name="settings">The settings.</param> /// <param name="resolver">The resolver.</param> /// <exception cref="ArgumentNullException"><paramref name="document" /> is <see langword="null" />.</exception> public SwaggerToTypeScriptClientGenerator(SwaggerDocument document, SwaggerToTypeScriptClientGeneratorSettings settings, TypeScriptTypeResolver resolver) : base(resolver, settings.CodeGeneratorSettings) { if (document == null) { throw new ArgumentNullException(nameof(document)); } Settings = settings; _document = document; _resolver = resolver; _resolver.AddGenerators(_document.Definitions); _extensionCode = new TypeScriptExtensionCode( Settings.TypeScriptGeneratorSettings.ExtensionCode, Settings.TypeScriptGeneratorSettings.ExtendedClasses, new[] { Settings.ClientBaseClass }); }
/// <summary>Initializes a new instance of the <see cref="SwaggerToTypeScriptClientGenerator" /> class.</summary> /// <param name="service">The service.</param> /// <param name="settings">The settings.</param> /// <param name="resolver">The resolver.</param> /// <exception cref="System.ArgumentNullException">service</exception> /// <exception cref="ArgumentNullException"><paramref name="service" /> is <see langword="null" />.</exception> public SwaggerToTypeScriptClientGenerator(SwaggerService service, SwaggerToTypeScriptClientGeneratorSettings settings, TypeScriptTypeResolver resolver) : base(resolver, settings.CodeGeneratorSettings) { if (service == null) { throw new ArgumentNullException(nameof(service)); } Settings = settings; _service = service; _resolver = resolver; foreach (var definition in _service.Definitions.Where(p => string.IsNullOrEmpty(p.Value.TypeNameRaw))) { definition.Value.TypeNameRaw = definition.Key; } _resolver.AddSchemas(_service.Definitions); }
/// <summary>Initializes a new instance of the <see cref="SwaggerToTypeScriptClientGenerator" /> class.</summary> /// <param name="service">The service.</param> /// <param name="settings">The settings.</param> /// <exception cref="System.ArgumentNullException">service</exception> /// <exception cref="ArgumentNullException"><paramref name="service" /> is <see langword="null" />.</exception> public SwaggerToTypeScriptClientGenerator(SwaggerService service, SwaggerToTypeScriptClientGeneratorSettings settings) : this(service, settings, new TypeScriptTypeResolver(settings.TypeScriptGeneratorSettings, service)) { }
public SwaggerToTypeScriptCommand() { Settings = new SwaggerToTypeScriptClientGeneratorSettings(); }
public void When_parameter_is_array_then_TypeScript_is_correct() { //// Arrange var swagger = @"{ ""swagger"" : ""2.0"", ""info"" : { ""version"" : ""1.0.2"", ""title"" : ""Test API"" }, ""host"" : ""localhost:8080"", ""basePath"" : ""/"", ""tags"" : [ { ""name"" : ""api"" } ], ""schemes"" : [ ""http"" ], ""paths"" : { ""/removeElement"" : { ""delete"" : { ""tags"" : [ ""api"" ], ""summary"" : ""Removes elements"", ""description"" : ""Removes elements"", ""operationId"" : ""removeElement"", ""consumes"" : [ ""application/json"" ], ""produces"" : [ ""application/json"" ], ""parameters"" : [ { ""name"" : ""X-User"", ""in"" : ""header"", ""description"" : ""User identifier"", ""required"" : true, ""type"" : ""string"" }, { ""name"" : ""elementId"", ""in"" : ""query"", ""description"" : ""The ids of existing elements that should be removed"", ""required"" : false, ""type"" : ""array"", ""items"" : { ""type"" : ""integer"", ""format"" : ""int64"" }, } ], ""responses"" : { ""default"" : { ""description"" : ""successful operation"" } } } } }, ""definitions"" : { } } "; var service = SwaggerService.FromJson(swagger); //// Act var settings = new SwaggerToTypeScriptClientGeneratorSettings { ClassName = "MyClass" }; var generator = new SwaggerToTypeScriptClientGenerator(service, settings); var code = generator.GenerateFile(); //// Assert Assert.IsTrue(code.Contains(@"elementId.forEach(item => { url += ""elementId="" + encodeURIComponent("""" + item) + ""&""; });")); }
/// <summary>Initializes a new instance of the <see cref="SwaggerToTypeScriptClientGenerator" /> class.</summary> /// <param name="document">The Swagger document.</param> /// <param name="settings">The settings.</param> /// <exception cref="ArgumentNullException"><paramref name="document" /> is <see langword="null" />.</exception> public SwaggerToTypeScriptClientGenerator(SwaggerDocument document, SwaggerToTypeScriptClientGeneratorSettings settings) : this(document, settings, new TypeScriptTypeResolver(settings.TypeScriptGeneratorSettings, document)) { }
/// <summary>Initializes a new instance of the <see cref="SwaggerToTypeScriptClientGenerator" /> class.</summary> /// <param name="document">The Swagger document.</param> /// <param name="settings">The settings.</param> /// <exception cref="ArgumentNullException"><paramref name="document" /> is <see langword="null" />.</exception> public SwaggerToTypeScriptClientGenerator(SwaggerDocument document, SwaggerToTypeScriptClientGeneratorSettings settings) : this(document, settings, new TypeScriptTypeResolver(settings.TypeScriptGeneratorSettings, document)) { }