Skip to content

Commit e4b245d

Browse files
committed
Refactor methods and use new config
1 parent 61ab70e commit e4b245d

File tree

2 files changed

+21
-20
lines changed

2 files changed

+21
-20
lines changed

src/WebApiToTypeScript/Views/ViewsService.cs

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ namespace WebApiToTypeScript.Views
99
{
1010
public class ViewsService : ServiceAware
1111
{
12-
private string ViewsSourceDirectory { get; set; }
13-
1412
private List<ViewNode> FeatureViews { get; }
1513
= new List<ViewNode>();
1614

@@ -21,14 +19,24 @@ public TypeScriptBlock CreateViewsBlock()
2119

2220
public TypeScriptBlock WriteViewsToBlock(TypeScriptBlock viewsBlock)
2321
{
24-
ViewsSourceDirectory = Path.GetFullPath(Config.ViewsSourceDirectory);
22+
foreach (var featureView in FeatureViews)
23+
{
24+
WriteViewEntry(viewsBlock, featureView);
25+
}
26+
27+
return viewsBlock;
28+
}
29+
30+
public void AddViews()
31+
{
32+
var viewsSourceDirectory = Path.GetFullPath(Config.ViewsSourceDirectory);
2533

26-
var viewFiles = Directory.GetFiles(ViewsSourceDirectory, "*.view.*", SearchOption.AllDirectories);
34+
var viewFiles = Directory.GetFiles(viewsSourceDirectory, $"*{Config.ViewsPattern}*", SearchOption.AllDirectories);
2735

2836
foreach (var viewFile in viewFiles)
2937
{
3038
var featureViewPath = Path.GetFullPath(viewFile)
31-
.Split(new[] { $@"{ViewsSourceDirectory}\" }, StringSplitOptions.RemoveEmptyEntries)
39+
.Split(new[] { $@"{viewsSourceDirectory}\" }, StringSplitOptions.RemoveEmptyEntries)
3240
.Last();
3341

3442
var parts = featureViewPath
@@ -54,7 +62,7 @@ public TypeScriptBlock WriteViewsToBlock(TypeScriptBlock viewsBlock)
5462
.ToList();
5563

5664
var viewNode = FeatureViews.Single(v => v.Name == featureNamespace);
57-
var nameThusFar = subFeatures.Count == 0 // instead should i skip last or first or something
65+
var nameThusFar = subFeatures.Count == 0
5866
? featureNamespace
5967
: string.Empty;
6068

@@ -81,7 +89,7 @@ public TypeScriptBlock WriteViewsToBlock(TypeScriptBlock viewsBlock)
8189

8290
var fullViewNameInKebabCase = parts
8391
.Last()
84-
.Split(new[] {".view."}, StringSplitOptions.RemoveEmptyEntries)
92+
.Split(new[] { Config.ViewsPattern }, StringSplitOptions.RemoveEmptyEntries)
8593
.First();
8694

8795
var fullViewNameInPascalCase = Helpers.ToPascalCaseFromKebabCase(fullViewNameInKebabCase);
@@ -90,25 +98,19 @@ public TypeScriptBlock WriteViewsToBlock(TypeScriptBlock viewsBlock)
9098
? Regex.Replace(fullViewNameInPascalCase, $"^{nameThusFar}", string.Empty)
9199
: fullViewNameInPascalCase;
92100

93-
viewNode.ViewEntries.Add(new ViewEntry {
101+
viewNode.ViewEntries.Add(new ViewEntry
102+
{
94103
Name = viewName,
95104
Path = featureViewPath.Replace(@"\", "/")
96105
});
97106
}
98-
99-
foreach (var featureView in FeatureViews)
100-
{
101-
WriteViewEntry(viewsBlock, featureView);
102-
}
103-
104-
return viewsBlock;
105107
}
106108

107109
private void WriteViewEntry(TypeScriptBlock viewsBlock, ViewNode featureViewNode, bool isChild = false)
108110
{
109-
var viewNamespace = isChild
110-
? string.Empty
111-
: ".Views";
111+
var viewNamespace = Config.UseViewsGroupingNamespace && !isChild
112+
? ".Views"
113+
: string.Empty;
112114

113115
var featureBlock = viewsBlock
114116
.AddAndUseBlock($"export namespace {featureViewNode.Name}{viewNamespace}");

src/WebApiToTypeScript/WebApiToTypeScript.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,14 @@ public override bool Execute()
4949
StartAnalysis("views");
5050

5151
var viewsBlock = ViewsService.CreateViewsBlock();
52+
ViewsService.AddViews();
5253
ViewsService.WriteViewsToBlock(viewsBlock);
5354

5455
CreateFileForBlock(viewsBlock, Config.ViewsOutputDirectory, Config.ViewsFileName);
5556

5657
StopAnalysis();
5758
}
5859

59-
return true;
60-
6160
StartAnalysis("controllers and actions");
6261

6362
foreach (var apiController in apiControllers)

0 commit comments

Comments
 (0)