Skip to content

Commit

Permalink
Lots of utility packages added
Browse files Browse the repository at this point in the history
  • Loading branch information
aritchie committed Aug 14, 2024
1 parent afbdb35 commit 7398e86
Show file tree
Hide file tree
Showing 7 changed files with 88 additions and 7 deletions.
18 changes: 18 additions & 0 deletions ProjectTemplates/ShinyApp/.template.config/ide.host.json
Original file line number Diff line number Diff line change
Expand Up @@ -494,5 +494,23 @@
"text": "BLAZOR - Add Radzen.Blazor"
},
"isVisible": true
},{
"id": "syslinqasync",
"name":{
"text": "UTILITY - Add System.Linq.Async"
},
"isVisible": true
},{
"id": "humanizer",
"name":{
"text": "UTILITY - Add Humanizer"
},
"isVisible": true
},{
"id": "unitsnet",
"name":{
"text": "UTILITY - Add UnitsNet"
},
"isVisible": true
}]
}
21 changes: 21 additions & 0 deletions ProjectTemplates/ShinyApp/.template.config/template.json
Original file line number Diff line number Diff line change
Expand Up @@ -639,6 +639,27 @@
"description": "AUTO - Add iOS CarPlay Support",
"displayName": "AUTO - Add iOS CarPlay Support"
},
"humanizer":{
"type": "parameter",
"datatype": "bool",
"defaultValue": "false",
"description": "UTILITY - Add Humanizer - Documentation: https://github.com/Humanizr/Humanizer",
"displayName": "UTILITY - Add Humanizer"
},
"unitsnet":{
"type": "parameter",
"datatype": "bool",
"defaultValue": "false",
"description": "UTILITY - Add UnitsNet - Documentation: https://github.com/angularsen/UnitsNet by Andreas Gullberg Larsen",
"displayName": "UTILITY - Add UnitsNet"
},
"syslinqasync":{
"type": "parameter",
"datatype": "bool",
"defaultValue": "false",
"description": "UTILITY - Add System.Linq.Async - Documentation: https://github.com/dotnet/reactive",
"displayName": "UTILITY - Add System.Linq.Async"
},
"HostIdentifier": {
"type": "bind",
"binding": "HostIdentifier"
Expand Down
33 changes: 33 additions & 0 deletions ProjectTemplates/ShinyApp/Documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -495,4 +495,37 @@ _This is a flexible TableView specialized in settings for Android / iOS by Satos

* [GitHub](https://github.com/muak/AiForms.Maui.SettingsView)

<!--#endif-->
<!--#if (syslinqasync)-->
## System.Linq.Async

IAsyncEnumerable<T>, and the associated version C# (8.0) added intrinsic support for this interface with its await foreach construct.

Although .NET Core 3.0 defined IAsyncEnumerable<T>, it did not add any corresponding LINQ implementation. Whereas IEnumerable<T> supports all the standard operators such as Where, GroupBy, and SelectMany, .NET does not have built-in implementations of any of these for IAsyncEnumerable<T>. However, Ix had provided LINQ operators for its prototype version of IAsyncEnumerable<T> from the start, so when .NET Core 3.0 shipped, it was a relatively straightforward task to update all those existing LINQ operators to work with the new, official IAsyncEnumerable<T>.

Thus, the System.Linq.Async NuGet package was created, providing a LINQ to Objects implementation for IAsyncEnumerable<T> to match the one already built into .NET for IEnumerable<T>.

Since all of the relevant code was already part of the Ix project (with IAsyncEnumerable<T> also originally having been defined by this project), the System.Linq.Async NuGet package is built as part of the Ix project.

* [GitHub](https://github.com/dotnet/reactive)

<!--#endif-->
<!--#if (humanizer)-->
## Humanizer

Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities.

* [GitHub](https://github.com/Humanizr/Humanizer)

<!--#endif-->
<!--#if (unitsnet)-->
## Units .NET
Written by Andreas Gullberg Larsen

Add strongly typed quantities to your code and get merrily on with your life.

No more magic constants found on Stack Overflow, no more second-guessing the unit of parameters and variables.

* [GitHub](https://github.com/angularsen/UnitsNet)

<!--#endif-->
12 changes: 6 additions & 6 deletions ProjectTemplates/ShinyAspNet/Documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ Created by [Allan Ritchie](https://github.com/aritchie)

* [Documentation](https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/health-checks?view=aspnetcore-8.0)

## DB UP

DbUp is a .NET library that helps you to deploy changes to SQL Server databases. It tracks which SQL scripts have been run already, and runs the change scripts that are needed to get your database up to date.

* [Documentation](https://dbup.readthedocs.io/en/latest/)

<!--#if (orleans)-->
## Microsoft Orleans

Expand Down Expand Up @@ -68,10 +74,4 @@ _Powerful email templates for your apps_
* [Documentation](http://shinylib.net/extensions/email.html)
* [GitHub](https://github.com/shinyorg/apiservices)

<!--#endif-->
<!--#if (mediatr)-->
## MediatR
_MediatR is a simple, unambitious mediator implementation in .NET_

* [Documentation](https://github.com/jbogard/MediatR)
<!--#endif-->
2 changes: 2 additions & 0 deletions ProjectTemplates/ShinyAspNet/ShinyAspNet.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -69,5 +69,7 @@
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.9.0" />
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.9.0" />
<!-- <PackageReference Include="Azure.Monitor.OpenTelemetry.Exporter" Version="1.3.0" /> -->

<PackageReference Include="dbup" Version="5.0.41" />
</ItemGroup>
</Project>
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,10 @@ Works with Visual Studio 2022 & JetBrains Rider 2024+
* [The 49 Bottom Sheet](https://github.com/the49ltd/The49.Maui.BottomSheet) by The 49 Ltd
* [The 49 Context Menu](hhttps://github.com/the49ltd/The49.Maui.ContextMenu) by The 49 Ltd
* [Bindable Property Generator](https://github.com/rrmanzano/maui-bindableproperty-generator) by rrmanzano
* [System.Linq.Async](https://github.com/dotnet/reactive)
* [Humanizer](https://github.com/Humanizr/Humanizer)
* [Units .NET](https://github.com/angularsen/UnitsNet) by Andreas Gullberg Larsen


<img src="vs4win.png" />

Expand All @@ -110,6 +114,9 @@ Works with Visual Studio 2022 & JetBrains Rider 2024+
* Minimal APIs
* Shiny Mediator Endpoint Setup
* .NET Orleans
* OpenAPI
* DB UP
* OpenTelemetry
* Entity Framework Basic Setup
* MSAL & WebAuthenticator Setup /w Google & Facebook
* Apple Domain Association Setup
Expand Down
2 changes: 1 addition & 1 deletion Template.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<PropertyGroup>
<Description>Shiny.NET Templates - One stop shop to setup almost everything you can imagine within your .NET MAUI application</Description>
<PackageType>Template</PackageType>
<PackageVersion>2.54.0</PackageVersion>
<PackageVersion>2.60.0</PackageVersion>
<PackageId>Shiny.Templates</PackageId>
<Title>Shiny Templates</Title>
<Authors>Allan Ritchie</Authors>
Expand Down

0 comments on commit 7398e86

Please sign in to comment.