Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b62f7e7

Browse files
committed
Add and use WriteImports method.
1 parent 1c3a246 commit b62f7e7

File tree

2 files changed

+22
-13
lines changed

2 files changed

+22
-13
lines changed

example/js/exampleApiServer.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
import * as bodyParser from 'body-parser';
55
import * as express from 'express';
6-
import { } from 'facility-core';
76

87
const standardErrorCodes = {
98
'NotModified': 304,

src/Facility.CodeGen.JavaScript/JavaScriptGenerator.cs

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using System.Collections.Generic;
33
using System.Globalization;
44
using System.Linq;
5-
using System.Net;
65
using Facility.Definition;
76
using Facility.Definition.CodeGen;
87
using Facility.Definition.Http;
@@ -51,7 +50,7 @@ protected override CodeGenOutput GenerateOutputCore(ServiceInfo service)
5150
code.WriteLine($"// DO NOT EDIT: generated by {GeneratorName}");
5251

5352
code.WriteLine();
54-
code.WriteLine("import { IServiceResult, IServiceError } from 'facility-core';");
53+
WriteImports(code, new[] { "IServiceResult", "IServiceError" }, "facility-core");
5554

5655
code.WriteLine();
5756
WriteJSDoc(code, service);
@@ -96,7 +95,6 @@ protected override CodeGenOutput GenerateOutputCore(ServiceInfo service)
9695
}));
9796
}
9897

99-
10098
namedTexts.Add(CreateNamedText(clientFileName, code =>
10199
{
102100
code.WriteLine($"// DO NOT EDIT: generated by {GeneratorName}");
@@ -105,10 +103,14 @@ protected override CodeGenOutput GenerateOutputCore(ServiceInfo service)
105103
code.WriteLine("'use strict';");
106104

107105
code.WriteLine();
108-
code.WriteLine("import { HttpClientUtility" + IfTypeScript(", IServiceResult, IServiceError, IHttpClientOptions") + " } from 'facility-core';");
106+
var facilityImports = new List<string> { "HttpClientUtility" };
107+
if (TypeScript)
108+
facilityImports.AddRange(new[] { "IServiceResult", "IServiceError", "IHttpClientOptions" });
109+
WriteImports(code, facilityImports, "facility-core");
110+
109111
if (TypeScript)
110112
{
111-
code.WriteLine($"import {{ {string.Join(", ", typeNames)} }} from './{Uncapitalize(moduleName)}Types';");
113+
WriteImports(code, typeNames, $"./{Uncapitalize(moduleName)}Types");
112114
code.WriteLine($"export * from './{Uncapitalize(moduleName)}Types';");
113115
}
114116

@@ -303,10 +305,13 @@ protected override CodeGenOutput GenerateOutputCore(ServiceInfo service)
303305
code.WriteLine();
304306
code.WriteLine("import * as bodyParser from 'body-parser';");
305307
code.WriteLine("import * as express from 'express';");
306-
code.WriteLine("import {" + IfTypeScript(" IServiceResult, IServiceError") + " } from 'facility-core';");
308+
var facilityImports = new List<string>();
309+
if (TypeScript)
310+
facilityImports.AddRange(new[] { "IServiceResult", "IServiceError" });
311+
WriteImports(code, facilityImports, "facility-core");
307312
if (TypeScript)
308313
{
309-
code.WriteLine($"import {{ {string.Join(", ", typeNames)} }} from './{Uncapitalize(moduleName)}Types';");
314+
WriteImports(code, typeNames, $"./{Uncapitalize(moduleName)}Types");
310315
code.WriteLine($"export * from './{Uncapitalize(moduleName)}Types';");
311316
}
312317

@@ -423,12 +428,12 @@ protected override CodeGenOutput GenerateOutputCore(ServiceInfo service)
423428
var bodyFieldType = service.GetFieldType(bodyField.ServiceField);
424429
if (bodyFieldType.Kind == ServiceTypeKind.Boolean)
425430
{
426-
code.WriteLine($"res.sendStatus({(int)validResponse.StatusCode});");
431+
code.WriteLine($"res.sendStatus({(int) validResponse.StatusCode});");
427432
code.WriteLine("return;");
428433
}
429434
else
430435
{
431-
code.WriteLine($"res.status({(int)validResponse.StatusCode}).send(result.value.{responseBodyFieldName});");
436+
code.WriteLine($"res.status({(int) validResponse.StatusCode}).send(result.value.{responseBodyFieldName});");
432437
code.WriteLine("return;");
433438
}
434439
}
@@ -437,15 +442,15 @@ protected override CodeGenOutput GenerateOutputCore(ServiceInfo service)
437442
{
438443
if (validResponse.NormalFields.Count == 0)
439444
{
440-
code.WriteLine($"res.sendStatus({(int)validResponse.StatusCode});");
445+
code.WriteLine($"res.sendStatus({(int) validResponse.StatusCode});");
441446
code.WriteLine("return;");
442447
}
443448
}
444449
}
445450

446451
foreach (var validResponse in httpMethodInfo.ValidResponses.Where(x => x.NormalFields != null && x.NormalFields.Count != 0))
447452
{
448-
code.WriteLine($"res.status({(int)validResponse.StatusCode}).send({{");
453+
code.WriteLine($"res.status({(int) validResponse.StatusCode}).send({{");
449454
using (code.Indent())
450455
{
451456
foreach (var field in validResponse.NormalFields)
@@ -557,7 +562,6 @@ private string RenderUriComponent(ServiceFieldInfo field, ServiceInfo service)
557562
private string RenderJsConversion(ServiceFieldInfo field, ServiceInfo service, string value)
558563
{
559564
var fieldTypeKind = service.GetFieldType(field).Kind;
560-
var fieldName = field.Name;
561565

562566
switch (fieldTypeKind)
563567
{
@@ -612,6 +616,12 @@ private static void WriteJSDoc(CodeWriter code, IReadOnlyList<string> lines)
612616
}
613617
}
614618

619+
private static void WriteImports(CodeWriter code, IReadOnlyList<string> imports, string from)
620+
{
621+
if (imports.Count != 0)
622+
code.WriteLine($"import {{ {string.Join(", ", imports)} }} from '{from}';");
623+
}
624+
615625
private static string Uncapitalize(string value)
616626
{
617627
return value.Length == 0 ? "" : value.Substring(0, 1).ToLowerInvariant() + value.Substring(1);

0 commit comments

Comments
 (0)