Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1d53af4b46 | |||
| 94b37d02d5 | |||
| 4543048f36 | |||
| 38565b7c42 | |||
| 102e1da345 | |||
| c1d14513c4 | |||
| e36add84ac | |||
| 75351ec24b | |||
| eebd8f950a | |||
| fd70567062 | |||
| 78db1311b2 | |||
| 0d313d2bb4 | |||
| acf2692955 | |||
| 71173053df | |||
| b91111eaa5 | |||
| d0968e1586 | |||
| 5e7b04efec |
@@ -21,23 +21,28 @@ jobs:
|
||||
|
||||
- name: Restore
|
||||
run: dotnet restore
|
||||
- name: Calculate Version
|
||||
id: version
|
||||
run: |
|
||||
TAG=$(git describe --tags --abbrev=0)
|
||||
COMMITS=$(git rev-list $TAG..HEAD --count)
|
||||
|
||||
- name: Install GitVersion
|
||||
uses: gittools/actions/gitversion/setup@v0
|
||||
with:
|
||||
versionSpec: '5.x'
|
||||
BASE=${TAG#v}
|
||||
|
||||
- name: Determine Version
|
||||
id: gitversion
|
||||
uses: gittools/actions/gitversion/execute@v0
|
||||
IFS='.' read MAJOR MINOR PATCH <<< "$BASE"
|
||||
|
||||
NEW_PATCH=$((PATCH + COMMITS))
|
||||
|
||||
VERSION="$MAJOR.$MINOR.$NEW_PATCH"
|
||||
|
||||
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
|
||||
- name: Build
|
||||
run: dotnet build -c Release
|
||||
|
||||
- name: Pack
|
||||
run: |
|
||||
dotnet pack \
|
||||
-p:PackageVersion=${{ steps.gitversion.outputs.semVer }} \
|
||||
-p:PackageVersion=${{ steps.version.outputs.VERSION }} \
|
||||
-c Release
|
||||
|
||||
- name: Publish
|
||||
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,3 +1,2 @@
|
||||
obj
|
||||
bin
|
||||
.packages
|
||||
bin
|
||||
@@ -1,7 +1,44 @@
|
||||
namespace SJK.Functional;
|
||||
|
||||
/// <summary>
|
||||
/// Provides methods to convert values into tuples.
|
||||
/// </summary>
|
||||
public static class TupleExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Converts two values of any type into a tuple.
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">The type of the first value.</typeparam>
|
||||
/// <typeparam name="T2">The type of the second value.</typeparam>
|
||||
/// <param name="first">The first value to convert.</param>
|
||||
/// <param name="second">The second value to convert.</param>
|
||||
/// <returns>A tuple containing both values.</returns>
|
||||
public static (T1, T2) ToTuple<T1, T2>(this T1 first, T2 second) => (first, second);
|
||||
|
||||
/// <summary>
|
||||
/// Converts three values of any type into a tuple.
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">The type of the first value.</typeparam>
|
||||
/// <typeparam name="T2">The type of the second value.</typeparam>
|
||||
/// <typeparam name="T3">The type of the third value.</typeparam>
|
||||
/// <param name="first">The first value to convert.</param>
|
||||
/// <param name="second">The second value to convert.</param>
|
||||
/// <param name="third">The third value to convert.</param>
|
||||
/// <returns>A tuple containing all three values.</returns>
|
||||
public static (T1, T2, T3) ToTuple<T1, T2, T3>(this T1 first, T2 second, T3 third) => (first, second, third);
|
||||
|
||||
/// <summary>
|
||||
/// Converts four values of any type into a tuple.
|
||||
/// </summary>
|
||||
/// <typeparam name="T1">The type of the first value.</typeparam>
|
||||
/// <typeparam name="T2">The type of the second value.</typeparam>
|
||||
/// <typeparam name="T3">The type of the third value.</typeparam>
|
||||
/// <typeparam name="T4">The type of the fourth value.</typeparam>
|
||||
/// <param name="first">The first value to convert.</param>
|
||||
/// <param name="second">The second value to convert.</param>
|
||||
/// <param name="third">The third value to convert.</param>
|
||||
/// <param name="forth">The fourth value to convert.</param>
|
||||
/// <returns>A tuple containing all four values.</returns>
|
||||
public static (T1, T2, T3, T4) ToTuple<T1, T2, T3, T4>(this T1 first, T2 second, T3 third, T4 forth) => (first, second, third, forth);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
mode: ContinuousDelivery
|
||||
|
||||
branches:
|
||||
main:
|
||||
increment: Patch
|
||||
feature:
|
||||
increment: Minor
|
||||
hotfix:
|
||||
increment: Patch
|
||||
@@ -4,6 +4,13 @@ namespace SJK.Math;
|
||||
|
||||
public static class SJKMath
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the max number in a array of values.
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
/// <param name="values"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="ArgumentException"></exception>
|
||||
public static T Max<T>(params T[] values) where T : INumber<T>
|
||||
{
|
||||
if (values.Length == 0)
|
||||
|
||||
62
README.md
Normal file
62
README.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# Project Title
|
||||
|
||||
Simple overview of use/purpose.
|
||||
|
||||
## Description
|
||||
|
||||
An in-depth paragraph about your project and overview of use.
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Dependencies
|
||||
|
||||
* Describe any prerequisites, libraries, OS version, etc., needed before installing program.
|
||||
* ex. Windows 10
|
||||
|
||||
### Installing
|
||||
|
||||
* How/where to download your program
|
||||
* Any modifications needed to be made to files/folders
|
||||
|
||||
### Executing program
|
||||
|
||||
* How to run the program
|
||||
* Step-by-step bullets
|
||||
```
|
||||
code blocks for commands
|
||||
```
|
||||
|
||||
## Help
|
||||
|
||||
Any advise for common problems or issues.
|
||||
```
|
||||
command to run if program contains helper info
|
||||
```
|
||||
|
||||
## Authors
|
||||
|
||||
Contributors names and contact info
|
||||
|
||||
ex. Dominique Pizzie
|
||||
ex. [@DomPizzie](https://twitter.com/dompizzie)
|
||||
|
||||
## Version History
|
||||
|
||||
* 0.2
|
||||
* Various bug fixes and optimizations
|
||||
* See [commit change]() or See [release history]()
|
||||
* 0.1
|
||||
* Initial Release
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the [NAME HERE] License - see the LICENSE.md file for details
|
||||
|
||||
## Acknowledgments
|
||||
|
||||
Inspiration, code snippets, etc.
|
||||
* [awesome-readme](https://github.com/matiassingers/awesome-readme)
|
||||
* [PurpleBooth](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2)
|
||||
* [dbader](https://github.com/dbader/readme-template)
|
||||
* [zenorocha](https://gist.github.com/zenorocha/4526327)
|
||||
* [fvcproductions](https://gist.github.com/fvcproductions/1bfc2d4aecb01a834b46)
|
||||
@@ -5,6 +5,7 @@
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
Reference in New Issue
Block a user