Skip to content

Commit 0b9147c

Browse files
committed
Update dependencies.
1 parent aadb3be commit 0b9147c

File tree

5 files changed

+55
-52
lines changed

5 files changed

+55
-52
lines changed

src/Facility.CodeGen.JavaScript/Facility.CodeGen.JavaScript.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</PropertyGroup>
1010

1111
<ItemGroup>
12-
<PackageReference Include="Facility.Definition" Version="2.0.2" />
12+
<PackageReference Include="Facility.Definition" Version="2.2.0" />
1313
</ItemGroup>
1414

1515
</Project>

src/Facility.CodeGen.JavaScript/JavaScriptGenerator.cs

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public static int GenerateJavaScript(JavaScriptGeneratorSettings settings) =>
2424
/// <summary>
2525
/// The name of the module (optional).
2626
/// </summary>
27-
public string ModuleName { get; set; }
27+
public string? ModuleName { get; set; }
2828

2929
/// <summary>
3030
/// True to generate TypeScript.
@@ -48,11 +48,11 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
4848
{
4949
var httpServiceInfo = HttpServiceInfo.Create(service);
5050

51-
string moduleName = ModuleName ?? service.Name;
52-
string capModuleName = CodeGenUtility.Capitalize(moduleName);
53-
string typesFileName = Uncapitalize(moduleName) + "Types" + (TypeScript ? ".ts" : ".js");
54-
string clientFileName = Uncapitalize(moduleName) + (TypeScript ? ".ts" : ".js");
55-
string serverFileName = Uncapitalize(moduleName) + "Server" + (TypeScript ? ".ts" : ".js");
51+
var moduleName = ModuleName ?? service.Name;
52+
var capModuleName = CodeGenUtility.Capitalize(moduleName);
53+
var typesFileName = Uncapitalize(moduleName) + "Types" + (TypeScript ? ".ts" : ".js");
54+
var clientFileName = Uncapitalize(moduleName) + (TypeScript ? ".ts" : ".js");
55+
var serverFileName = Uncapitalize(moduleName) + "Server" + (TypeScript ? ".ts" : ".js");
5656

5757
var namedTexts = new List<CodeGenFile>();
5858
var typeNames = new List<string>();
@@ -79,8 +79,8 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
7979
{
8080
foreach (var httpMethodInfo in httpServiceInfo.Methods)
8181
{
82-
string methodName = httpMethodInfo.ServiceMethod.Name;
83-
string capMethodName = CodeGenUtility.Capitalize(methodName);
82+
var methodName = httpMethodInfo.ServiceMethod.Name;
83+
var capMethodName = CodeGenUtility.Capitalize(methodName);
8484
code.WriteLineSkipOnce();
8585
WriteJsDoc(code, httpMethodInfo.ServiceMethod);
8686
code.WriteLine($"{methodName}(request: I{capMethodName}Request): Promise<IServiceResult<I{capMethodName}Response>>;");
@@ -167,16 +167,16 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
167167

168168
foreach (var httpMethodInfo in httpServiceInfo.Methods)
169169
{
170-
string methodName = httpMethodInfo.ServiceMethod.Name;
171-
string capMethodName = CodeGenUtility.Capitalize(methodName);
170+
var methodName = httpMethodInfo.ServiceMethod.Name;
171+
var capMethodName = CodeGenUtility.Capitalize(methodName);
172172

173173
code.WriteLine();
174174
WriteJsDoc(code, httpMethodInfo.ServiceMethod);
175175
using (code.Block(IfTypeScript("public ") + $"{methodName}(request" + IfTypeScript($": I{capMethodName}Request") + ")" + IfTypeScript($": Promise<IServiceResult<I{capMethodName}Response>>") + " {", "}"))
176176
{
177-
bool hasPathFields = httpMethodInfo.PathFields.Count != 0;
178-
string jsUriDelim = hasPathFields ? "`" : "'";
179-
string jsUri = jsUriDelim + httpMethodInfo.Path.Substring(1) + jsUriDelim;
177+
var hasPathFields = httpMethodInfo.PathFields.Count != 0;
178+
var jsUriDelim = hasPathFields ? "`" : "'";
179+
var jsUri = jsUriDelim + httpMethodInfo.Path.Substring(1) + jsUriDelim;
180180
if (hasPathFields)
181181
{
182182
foreach (var httpPathField in httpMethodInfo.PathFields)
@@ -189,7 +189,7 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
189189
jsUri = jsUri.Replace("{" + httpPathField.Name + "}", $"${{uriPart{CodeGenUtility.Capitalize(httpPathField.ServiceField.Name)}}}");
190190
}
191191

192-
bool hasQueryFields = httpMethodInfo.QueryFields.Count != 0;
192+
var hasQueryFields = httpMethodInfo.QueryFields.Count != 0;
193193
code.WriteLine((hasQueryFields ? "let" : "const") + $" uri = {jsUri};");
194194
if (hasQueryFields)
195195
{
@@ -225,11 +225,11 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
225225
{
226226
using (code.Block("body: JSON.stringify({", "})"))
227227
{
228-
for (int httpFieldIndex = 0; httpFieldIndex < httpMethodInfo.RequestNormalFields.Count; httpFieldIndex++)
228+
for (var httpFieldIndex = 0; httpFieldIndex < httpMethodInfo.RequestNormalFields.Count; httpFieldIndex++)
229229
{
230230
var httpFieldInfo = httpMethodInfo.RequestNormalFields[httpFieldIndex];
231-
bool isLastField = httpFieldIndex == httpMethodInfo.RequestNormalFields.Count - 1;
232-
string fieldName = httpFieldInfo.ServiceField.Name;
231+
var isLastField = httpFieldIndex == httpMethodInfo.RequestNormalFields.Count - 1;
232+
var fieldName = httpFieldInfo.ServiceField.Name;
233233
code.WriteLine(fieldName + ": request." + fieldName + (isLastField ? "" : ","));
234234
}
235235
}
@@ -255,10 +255,10 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
255255
using (code.Block("if (result.json) {", "}"))
256256
{
257257
var validResponses = httpMethodInfo.ValidResponses;
258-
string elsePrefix = "";
258+
var elsePrefix = "";
259259
foreach (var validResponse in validResponses)
260260
{
261-
string statusCodeAsString = ((int) validResponse.StatusCode).ToString(CultureInfo.InvariantCulture);
261+
var statusCodeAsString = ((int) validResponse.StatusCode).ToString(CultureInfo.InvariantCulture);
262262
code.WriteLine($"{elsePrefix}if (status === {statusCodeAsString}) {{");
263263
elsePrefix = "else ";
264264

@@ -267,17 +267,17 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
267267
var bodyField = validResponse.BodyField;
268268
if (bodyField != null)
269269
{
270-
string responseBodyFieldName = bodyField.ServiceField.Name;
270+
var responseBodyFieldName = bodyField.ServiceField.Name;
271271

272-
var bodyFieldType = service.GetFieldType(bodyField.ServiceField);
272+
var bodyFieldType = service.GetFieldType(bodyField.ServiceField)!;
273273
if (bodyFieldType.Kind == ServiceTypeKind.Boolean)
274274
code.WriteLine($"value = {{ {responseBodyFieldName}: true }};");
275275
else
276276
code.WriteLine($"value = {{ {responseBodyFieldName}: result.json }};");
277277
}
278278
else
279279
{
280-
if (validResponse.NormalFields.Count == 0)
280+
if (validResponse.NormalFields!.Count == 0)
281281
code.WriteLine("value = {};");
282282
else
283283
code.WriteLine("value = result.json;");
@@ -376,10 +376,10 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
376376

377377
foreach (var httpMethodInfo in httpServiceInfo.Methods)
378378
{
379-
string methodName = httpMethodInfo.ServiceMethod.Name;
380-
string capMethodName = CodeGenUtility.Capitalize(methodName);
381-
string expressMethod = httpMethodInfo.Method.ToLowerInvariant();
382-
string expressPath = httpMethodInfo.Path;
379+
var methodName = httpMethodInfo.ServiceMethod.Name;
380+
var capMethodName = CodeGenUtility.Capitalize(methodName);
381+
var expressMethod = httpMethodInfo.Method.ToLowerInvariant();
382+
var expressPath = httpMethodInfo.Path;
383383
foreach (var httpPathField in httpMethodInfo.PathFields)
384384
expressPath = expressPath.Replace("{" + httpPathField.Name + "}", $":{httpPathField.Name}");
385385

@@ -443,11 +443,11 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
443443
var bodyField = validResponse.BodyField;
444444
if (bodyField != null)
445445
{
446-
string responseBodyFieldName = bodyField.ServiceField.Name;
446+
var responseBodyFieldName = bodyField.ServiceField.Name;
447447

448448
using (code.Block($"if (result.value.{responseBodyFieldName}) {{", "}"))
449449
{
450-
var bodyFieldType = service.GetFieldType(bodyField.ServiceField);
450+
var bodyFieldType = service.GetFieldType(bodyField.ServiceField)!;
451451
if (bodyFieldType.Kind == ServiceTypeKind.Boolean)
452452
{
453453
code.WriteLine($"res.sendStatus({(int) validResponse.StatusCode});");
@@ -462,7 +462,7 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
462462
}
463463
else
464464
{
465-
if (validResponse.NormalFields.Count == 0)
465+
if (validResponse.NormalFields!.Count == 0)
466466
{
467467
code.WriteLine($"res.sendStatus({(int) validResponse.StatusCode});");
468468
code.WriteLine("return;");
@@ -475,7 +475,7 @@ public override CodeGenOutput GenerateOutput(ServiceInfo service)
475475
code.WriteLine($"res.status({(int) validResponse.StatusCode}).send({{");
476476
using (code.Indent())
477477
{
478-
foreach (var field in validResponse.NormalFields)
478+
foreach (var field in validResponse.NormalFields!)
479479
{
480480
code.WriteLine($"{field.ServiceField.Name}: result.value.{field.ServiceField.Name},");
481481
}
@@ -535,7 +535,7 @@ private void WriteDto(CodeWriter code, ServiceDtoInfo dtoInfo, ServiceInfo servi
535535
{
536536
code.WriteLineSkipOnce();
537537
WriteJsDoc(code, fieldInfo);
538-
code.WriteLine($"{fieldInfo.Name}?: {RenderFieldType(service.GetFieldType(fieldInfo))};");
538+
code.WriteLine($"{fieldInfo.Name}?: {RenderFieldType(service.GetFieldType(fieldInfo)!)};");
539539
}
540540
}
541541
}
@@ -565,21 +565,21 @@ private string RenderFieldType(ServiceTypeInfo fieldType)
565565
case ServiceTypeKind.Error:
566566
return "IServiceError";
567567
case ServiceTypeKind.Dto:
568-
return $"I{CodeGenUtility.Capitalize(fieldType.Dto.Name)}";
568+
return $"I{CodeGenUtility.Capitalize(fieldType.Dto!.Name)}";
569569
case ServiceTypeKind.Result:
570-
return $"IServiceResult<{RenderFieldType(fieldType.ValueType)}>";
570+
return $"IServiceResult<{RenderFieldType(fieldType.ValueType!)}>";
571571
case ServiceTypeKind.Array:
572-
return $"{RenderFieldType(fieldType.ValueType)}[]";
572+
return $"{RenderFieldType(fieldType.ValueType!)}[]";
573573
case ServiceTypeKind.Map:
574-
return $"{{ [name: string]: {RenderFieldType(fieldType.ValueType)} }}";
574+
return $"{{ [name: string]: {RenderFieldType(fieldType.ValueType!)} }}";
575575
default:
576576
throw new NotSupportedException("Unknown field type " + fieldType.Kind);
577577
}
578578
}
579579

580580
private string RenderUriComponent(ServiceFieldInfo field, ServiceInfo service)
581581
{
582-
var fieldTypeKind = service.GetFieldType(field).Kind;
582+
var fieldTypeKind = service.GetFieldType(field)!.Kind;
583583
var fieldName = field.Name;
584584

585585
switch (fieldTypeKind)
@@ -607,7 +607,7 @@ private string RenderUriComponent(ServiceFieldInfo field, ServiceInfo service)
607607

608608
private string RenderJsConversion(ServiceFieldInfo field, ServiceInfo service, string value)
609609
{
610-
var fieldTypeKind = service.GetFieldType(field).Kind;
610+
var fieldTypeKind = service.GetFieldType(field)!.Kind;
611611

612612
switch (fieldTypeKind)
613613
{
@@ -637,11 +637,11 @@ private static void WriteJsDoc(CodeWriter code, ServiceElementWithAttributesInfo
637637
WriteJsDoc(code, (element as IServiceHasSummary)?.Summary, isObsolete: element.IsObsolete, obsoleteMessage: element.ObsoleteMessage);
638638
}
639639

640-
private static void WriteJsDoc(CodeWriter code, string summary, bool isObsolete = false, string obsoleteMessage = null)
640+
private static void WriteJsDoc(CodeWriter code, string? summary, bool isObsolete = false, string? obsoleteMessage = null)
641641
{
642642
var lines = new List<string>(capacity: 2);
643-
if (!string.IsNullOrWhiteSpace(summary))
644-
lines.Add(summary);
643+
if (summary != null && summary.Trim().Length != 0)
644+
lines.Add(summary.Trim());
645645
if (isObsolete)
646646
lines.Add("@deprecated" + (string.IsNullOrWhiteSpace(obsoleteMessage) ? "" : $" {obsoleteMessage}"));
647647
WriteJsDoc(code, lines);
@@ -656,7 +656,7 @@ private static void WriteJsDoc(CodeWriter code, IReadOnlyList<string> lines)
656656
else if (lines.Count != 0)
657657
{
658658
code.WriteLine("/**");
659-
foreach (string line in lines)
659+
foreach (var line in lines)
660660
code.WriteLine($" * {line}");
661661
code.WriteLine(" */");
662662
}
@@ -675,7 +675,7 @@ private static string Uncapitalize(string value)
675675

676676
private static bool FieldUsesKind(ServiceInfo service, ServiceFieldInfo field, ServiceTypeKind kind)
677677
{
678-
var type = service.GetFieldType(field);
678+
var type = service.GetFieldType(field)!;
679679
if (type.Kind == kind)
680680
return true;
681681

src/Facility.CodeGen.JavaScript/JavaScriptGeneratorSettings.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public sealed class JavaScriptGeneratorSettings : FileGeneratorSettings
1010
/// <summary>
1111
/// The name of the module (optional).
1212
/// </summary>
13-
public string ModuleName { get; set; }
13+
public string? ModuleName { get; set; }
1414

1515
/// <summary>
1616
/// True to generate TypeScript.

src/fsdgenjs/fsdgenjs.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
55
<TargetFramework>netcoreapp2.1</TargetFramework>
6-
<Description>A .NET Core Global Tool that generates JavaScript or TypeScript for a Facility Service Definition.</Description>
6+
<Description>A tool that generates JavaScript or TypeScript for a Facility Service Definition.</Description>
77
<PackageTags>Facility FSD JavaScript TypeScript CodeGen</PackageTags>
88
<IsPackable>true</IsPackable>
99
<PackAsTool>true</PackAsTool>
1010
</PropertyGroup>
1111

1212
<ItemGroup>
13-
<PackageReference Include="Facility.CodeGen.Console" Version="2.0.2" />
13+
<PackageReference Include="Facility.CodeGen.Console" Version="2.2.0" />
1414
</ItemGroup>
1515

1616
<ItemGroup>

tests/Facility.CodeGen.JavaScript.UnitTests/Facility.CodeGen.JavaScript.UnitTests.csproj

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>netcoreapp2.0</TargetFramework>
4+
<TargetFramework>netcoreapp2.1</TargetFramework>
55
</PropertyGroup>
66

77
<ItemGroup>
88
<EmbeddedResource Include="..\..\example\ExampleApi.fsd" Link="ExampleApi.fsd" />
99
</ItemGroup>
1010

1111
<ItemGroup>
12-
<PackageReference Include="FluentAssertions" Version="5.6.0" />
13-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
14-
<PackageReference Include="NUnit" Version="3.11.0" />
15-
<PackageReference Include="NUnit3TestAdapter" Version="3.13.0" />
12+
<PackageReference Include="FluentAssertions" Version="5.10.3" />
13+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" />
14+
<PackageReference Include="NUnit" Version="3.12.0" />
15+
<PackageReference Include="NUnit3TestAdapter" Version="3.16.1">
16+
<PrivateAssets>all</PrivateAssets>
17+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
18+
</PackageReference>
1619
</ItemGroup>
1720

1821
<ItemGroup>

0 commit comments

Comments
 (0)