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

Skip to content

Commit 6a6a3b7

Browse files
committed
Add and use WriteImports method.
1 parent f8d948f commit 6a6a3b7

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
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: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ protected override CodeGenOutput GenerateOutputCore(ServiceInfo service)
5050
code.WriteLine($"// DO NOT EDIT: generated by {GeneratorName}");
5151

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

5555
code.WriteLine();
5656
WriteJsDoc(code, service);
@@ -93,7 +93,6 @@ protected override CodeGenOutput GenerateOutputCore(ServiceInfo service)
9393
}));
9494
}
9595

96-
9796
namedTexts.Add(CreateFile(clientFileName, code =>
9897
{
9998
code.WriteLine($"// DO NOT EDIT: generated by {GeneratorName}");
@@ -102,10 +101,14 @@ protected override CodeGenOutput GenerateOutputCore(ServiceInfo service)
102101
code.WriteLine("'use strict';");
103102

104103
code.WriteLine();
105-
code.WriteLine("import { HttpClientUtility" + IfTypeScript(", IServiceResult, IServiceError, IHttpClientOptions") + " } from 'facility-core';");
104+
var facilityImports = new List<string> { "HttpClientUtility" };
105+
if (TypeScript)
106+
facilityImports.AddRange(new[] { "IServiceResult", "IServiceError", "IHttpClientOptions" });
107+
WriteImports(code, facilityImports, "facility-core");
108+
106109
if (TypeScript)
107110
{
108-
code.WriteLine($"import {{ {string.Join(", ", typeNames)} }} from './{Uncapitalize(moduleName)}Types';");
111+
WriteImports(code, typeNames, $"./{Uncapitalize(moduleName)}Types");
109112
code.WriteLine($"export * from './{Uncapitalize(moduleName)}Types';");
110113
}
111114

@@ -300,10 +303,13 @@ protected override CodeGenOutput GenerateOutputCore(ServiceInfo service)
300303
code.WriteLine();
301304
code.WriteLine("import * as bodyParser from 'body-parser';");
302305
code.WriteLine("import * as express from 'express';");
303-
code.WriteLine("import {" + IfTypeScript(" IServiceResult, IServiceError") + " } from 'facility-core';");
306+
var facilityImports = new List<string>();
307+
if (TypeScript)
308+
facilityImports.AddRange(new[] { "IServiceResult", "IServiceError" });
309+
WriteImports(code, facilityImports, "facility-core");
304310
if (TypeScript)
305311
{
306-
code.WriteLine($"import {{ {string.Join(", ", typeNames)} }} from './{Uncapitalize(moduleName)}Types';");
312+
WriteImports(code, typeNames, $"./{Uncapitalize(moduleName)}Types");
307313
code.WriteLine($"export * from './{Uncapitalize(moduleName)}Types';");
308314
}
309315

@@ -608,6 +614,12 @@ private static void WriteJsDoc(CodeWriter code, IReadOnlyList<string> lines)
608614
}
609615
}
610616

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

0 commit comments

Comments
 (0)