diff --git a/docs/index.md b/docs/index.md index 468c060e..e1d3febf 100644 --- a/docs/index.md +++ b/docs/index.md @@ -20,7 +20,7 @@ Here is a visual representation of the above: Installation is pretty simple, just copy and paste the following command: ~~~ -dotnet tool install --global dotnet-dash --version 0.6.0-alpha +dotnet tool install --global dotnet-dash --version 0.6.1-alpha ~~~ If you have successfully installed Dash, the following command will bring up the help screen: @@ -33,7 +33,7 @@ dotnet dash --help Updating to the latest, or different, version of Dash is equally simple: ~~~ -dotnet tool update --global dotnet-dash --version 0.6.0-alpha +dotnet tool update --global dotnet-dash --version 0.6.1-alpha ~~~ ## Hello World example diff --git a/src/Dash/src/Dash/Dash.csproj b/src/Dash/src/Dash/Dash.csproj index 120b8fbe..5f83cb86 100644 --- a/src/Dash/src/Dash/Dash.csproj +++ b/src/Dash/src/Dash/Dash.csproj @@ -2,9 +2,9 @@ Exe - netcoreapp3.1 + net5.0 enable - 0.6.0-alpha + 0.6.1-alpha true dotnet-dash ./nupkg diff --git a/src/Dash/src/Dash/Engine/IModelRepository.cs b/src/Dash/src/Dash/Engine/IModelRepository.cs index ee67f3ad..39252120 100644 --- a/src/Dash/src/Dash/Engine/IModelRepository.cs +++ b/src/Dash/src/Dash/Engine/IModelRepository.cs @@ -16,6 +16,6 @@ public interface IModelRepository EntityModel Get(string entityName); - bool TryGet(string entityName, out EntityModel entityModel); + bool TryGet(string entityName, out EntityModel? entityModel); } } \ No newline at end of file diff --git a/src/Dash/src/Dash/Engine/Parsers/DefaultSourceCodeParser.cs b/src/Dash/src/Dash/Engine/Parsers/DefaultSourceCodeParser.cs index 4cfa96a8..81c210e9 100644 --- a/src/Dash/src/Dash/Engine/Parsers/DefaultSourceCodeParser.cs +++ b/src/Dash/src/Dash/Engine/Parsers/DefaultSourceCodeParser.cs @@ -51,7 +51,7 @@ private ConfigurationNode ParseConfiguration(JsonDocument document) var deserialized = JsonSerializer.Deserialize(configurationSourceCode); - foreach (var item in deserialized.Templates) + foreach (var item in deserialized!.Templates) { if (item.Output == null) { @@ -62,7 +62,7 @@ private ConfigurationNode ParseConfiguration(JsonDocument document) return deserialized; } - private ModelNode ParseModel(JsonDocument document) + private static ModelNode ParseModel(JsonDocument document) { var result = new ModelNode(); @@ -80,7 +80,7 @@ private ModelNode ParseModel(JsonDocument document) return result; } - private void TraverseRelationshipProperties(EntityDeclarationNode entityDeclarationNode, JsonElement.ObjectEnumerator objectProperties) + private static void TraverseRelationshipProperties(EntityDeclarationNode entityDeclarationNode, JsonElement.ObjectEnumerator objectProperties) { objectProperties.Reset(); @@ -97,7 +97,7 @@ private void TraverseRelationshipProperties(EntityDeclarationNode entityDeclarat } } - private void ProcessRelationshipProperty(JsonProperty objectProperty, string relationship, Action func) + private static void ProcessRelationshipProperty(JsonProperty objectProperty, string relationship, Action func) { if (objectProperty.Name.IsSame(relationship)) { @@ -105,20 +105,20 @@ private void ProcessRelationshipProperty(JsonProperty objectProperty, string rel { foreach (var hasProperty in objectProperty.Value.EnumerateObject()) { - func(hasProperty.Name, hasProperty.Value.GetString()); + func(hasProperty.Name, hasProperty.Value.GetString()!); } } else if (objectProperty.Value.ValueKind == JsonValueKind.Array) { foreach (var hasProperty in objectProperty.Value.EnumerateArray()) { - func(hasProperty.GetString(), hasProperty.GetString()); + func(hasProperty.GetString()!, hasProperty.GetString()!); } } } } - private void TryTraverseSeed(EntityDeclarationNode entityDeclarationNode, JsonElement.ObjectEnumerator entityObjectProperties) + private static void TryTraverseSeed(EntityDeclarationNode entityDeclarationNode, JsonElement.ObjectEnumerator entityObjectProperties) { foreach (var item in entityObjectProperties.Where(e => e.Name.IsSame("@@Seed"))) { @@ -129,7 +129,7 @@ private void TryTraverseSeed(EntityDeclarationNode entityDeclarationNode, JsonEl throw new ParserException("The 'FromCsv' value must be an Object"); } - var uri = new Uri(csvElement.GetProperty("Uri").GetString()); + var uri = new Uri(csvElement.GetProperty("Uri").GetString()!); var firstLineIsHeader = false; if (csvElement.TryGetProperty("FirstLineIsHeader", out var value)) @@ -146,7 +146,7 @@ private void TryTraverseSeed(EntityDeclarationNode entityDeclarationNode, JsonEl delimiter = delimiterJsonElement.GetString(); } - entityDeclarationNode.AddCsvSeedDeclarationNode(uri, firstLineIsHeader, delimiter, mapHeaders); + entityDeclarationNode.AddCsvSeedDeclarationNode(uri, firstLineIsHeader, delimiter, mapHeaders!); continue; } @@ -154,7 +154,7 @@ private void TryTraverseSeed(EntityDeclarationNode entityDeclarationNode, JsonEl } } - private void TraverseModelEntities(ModelNode modelNode, JsonProperty entityObject) + private static void TraverseModelEntities(ModelNode modelNode, JsonProperty entityObject) { if (entityObject.Value.ValueKind == JsonValueKind.Object && !entityObject.Name.StartsWith("@@")) { @@ -167,7 +167,7 @@ private void TraverseModelEntities(ModelNode modelNode, JsonProperty entityObjec } } - private void TraverseAttributes(EntityDeclarationNode entityDeclarationNode, JsonElement.ObjectEnumerator attributes) + private static void TraverseAttributes(EntityDeclarationNode entityDeclarationNode, JsonElement.ObjectEnumerator attributes) { attributes.Reset(); foreach (var attribute in attributes) @@ -176,14 +176,14 @@ private void TraverseAttributes(EntityDeclarationNode entityDeclarationNode, Jso { if (attribute.Value.ValueKind == JsonValueKind.String) { - entityDeclarationNode.AddAttributeDeclaration(attribute.Name, attribute.Value.GetString()); + entityDeclarationNode.AddAttributeDeclaration(attribute.Name, attribute.Value.GetString()!); } } else { if (attribute.Name.IsSame("@@Inherits")) { - entityDeclarationNode.AddInheritanceDeclaration(attribute.Value.GetString()); + entityDeclarationNode.AddInheritanceDeclaration(attribute.Value.GetString()!); } else if (attribute.Name.IsSame("@@Abstract")) { diff --git a/src/Dash/src/Dash/Engine/Repositories/DefaultModelRepository.cs b/src/Dash/src/Dash/Engine/Repositories/DefaultModelRepository.cs index 655c2218..f595b214 100644 --- a/src/Dash/src/Dash/Engine/Repositories/DefaultModelRepository.cs +++ b/src/Dash/src/Dash/Engine/Repositories/DefaultModelRepository.cs @@ -41,10 +41,10 @@ public virtual EntityModel Get(string entityName) throw new EntityModelNotFoundException($"Entity '{entityName}' was not found in the repository"); } - return entity; + return entity!; } - public bool TryGet(string entityName, out EntityModel entityModel) + public bool TryGet(string entityName, out EntityModel? entityModel) { entityModel = _entityModels.SingleOrDefault(e => e.Name.IsSame(entityName)); return entityModel != null; diff --git a/src/Dash/src/Dash/Engine/Visitors/DefaultModelBuilder.cs b/src/Dash/src/Dash/Engine/Visitors/DefaultModelBuilder.cs index dbb8157a..baef642f 100644 --- a/src/Dash/src/Dash/Engine/Visitors/DefaultModelBuilder.cs +++ b/src/Dash/src/Dash/Engine/Visitors/DefaultModelBuilder.cs @@ -45,7 +45,7 @@ public override Task Visit(AttributeDeclarationNode node) var codeDataType = _codeLanguageProvider.Translate(result.DataType); var databaseDataType = _databaseLanguageProvider.Translate(result.DataType); - entityModel.CodeAttributes.Add(new AttributeModel(node.AttributeName, result, codeDataType)); + entityModel!.CodeAttributes.Add(new AttributeModel(node.AttributeName, result, codeDataType)); entityModel.DataAttributes.Add(new AttributeModel(node.AttributeName, result, databaseDataType)); } diff --git a/src/Dash/test/Dash.Tests/Common/HttpUriDownloaderTests.cs b/src/Dash/test/Dash.Tests/Common/HttpUriDownloaderTests.cs index 537b075c..62ec69ef 100644 --- a/src/Dash/test/Dash.Tests/Common/HttpUriDownloaderTests.cs +++ b/src/Dash/test/Dash.Tests/Common/HttpUriDownloaderTests.cs @@ -85,7 +85,7 @@ public async Task Visit_UriNodeDownloadSuccess_ShouldReturnSuccessfulTuple() // Assert result.Success.Should().BeTrue(); result.FileName.Should().Be("bar.csv"); - result.Content.SequenceEqual(await stringContent.ReadAsByteArrayAsync()).Should().BeTrue(); + result.Content.Should().NotBeNull().And.Subject.SequenceEqual(await stringContent.ReadAsByteArrayAsync()).Should().BeTrue(); } } } diff --git a/src/Dash/test/Dash.Tests/Dash.Tests.csproj b/src/Dash/test/Dash.Tests/Dash.Tests.csproj index 8801d220..1e47c735 100644 --- a/src/Dash/test/Dash.Tests/Dash.Tests.csproj +++ b/src/Dash/test/Dash.Tests/Dash.Tests.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net5.0 false