-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: Improved project structure and documentation.
- Loading branch information
1 parent
56d4a33
commit 647b1d3
Showing
20 changed files
with
166 additions
and
245 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
name: "PR: .NET" | ||
|
||
on: | ||
pull_request: | ||
|
||
jobs: | ||
Checks: | ||
uses: Heleonix/workflows/.github/workflows/pr-net.yml@main |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
name: "Release: .NET / NuGet" | ||
|
||
permissions: | ||
contents: write | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
paths: | ||
- 'src/**' | ||
- 'LICENSE' | ||
- 'README.md' | ||
|
||
jobs: | ||
Release: | ||
uses: Heleonix/workflows/.github/workflows/release-net-nuget.yml@main | ||
secrets: inherit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
<Project> | ||
<PropertyGroup> | ||
<Version>1.0.0</Version> | ||
<Description>Provides predicative and other useful extensions for objects, strings, enumerables etc.</Description> | ||
<PackageTags>Heleonix extensions predicate format</PackageTags> | ||
|
||
<Authors>Heleonix - Hennadii Lutsyshyn</Authors> | ||
<Copyright>Copyright (c) Heleonix - Hennadii Lutsyshyn</Copyright> | ||
|
||
<RepositoryType>git</RepositoryType> | ||
<RepositoryUrl>https://github.com/Heleonix/Heleonix.Extensions</RepositoryUrl> | ||
<PackageProjectUrl>https://heleonix.github.io/docs/Heleonix.Extensions/</PackageProjectUrl> | ||
<PackageIconUrl>https://raw.githubusercontent.com/Heleonix/docs/master/images/heleonix-logos/Heleonix-logo-128x128.jpg</PackageIconUrl> | ||
|
||
<NoWarn>NU5048</NoWarn> | ||
<PackageLicenseFile>LICENSE</PackageLicenseFile> | ||
<PackageReadmeFile>README.md</PackageReadmeFile> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<None Include="..\..\LICENSE" Pack="true" PackagePath="/"/> | ||
<None Include="..\..\README.md" Pack="true" PackagePath="/"/> | ||
</ItemGroup> | ||
|
||
<PropertyGroup> | ||
<ImplicitUsings>enable</ImplicitUsings> | ||
<LangVersion>latest</LangVersion> | ||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors> | ||
<GenerateDocumentationFile>true</GenerateDocumentationFile> | ||
<NeutralLanguage>en-US</NeutralLanguage> | ||
<SatelliteResourceLanguages>en-US</SatelliteResourceLanguages> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<AdditionalFiles Include="..\..\stylecop.json" Link="stylecop.json" /> | ||
</ItemGroup> | ||
|
||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> | ||
<DebugType>full</DebugType> | ||
<DebugSymbols>true</DebugSymbols> | ||
</PropertyGroup> | ||
|
||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"> | ||
<DebugType>pdbonly</DebugType> | ||
<DebugSymbols>true</DebugSymbols> | ||
</PropertyGroup> | ||
</Project> |
57 changes: 0 additions & 57 deletions
57
Heleonix.Extensions.Tests/Heleonix.Extensions.Tests.csproj
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,84 +1,29 @@ | ||
# Heleonix.Extensions | ||
|
||
[![Release: .NET / NuGet](https://github.com/Heleonix/Heleonix.Extensions/actions/workflows/release-net-nuget.yml/badge.svg)](https://github.com/Heleonix/Heleonix.Extensions/actions/workflows/release-net-nuget.yml) | ||
|
||
Provides predicative and other useful extensions for objects, strings, enumerables etc. | ||
|
||
## Install | ||
|
||
https://www.nuget.org/packages/Heleonix.Extensions | ||
|
||
**These extensions do not throw exceptions, so they can be used without try/catch blocks or extra `if` statements**. | ||
All of the extensions are straightforward, so descriptions provided by intellisense is pretty enough. | ||
|
||
## Heleonix.Extensions.ObjectExtensions | ||
|
||
### Methods | ||
|
||
* `public static bool IsNull(this object instance)` | ||
|
||
* `public static bool IsZero(this object instance)` | ||
|
||
* `public static bool IsOne(this object instance)` | ||
|
||
* `public static bool IsNegative(this object instance)` | ||
|
||
* `public static bool IsPositive(this object instance)` | ||
|
||
* `public static bool IsEqualTo(this object instance, object other)` | ||
|
||
* `public static bool IsAs(this object instance, Type type)` | ||
|
||
Determines whether this instance is subclass of or exactly the specified type. | ||
|
||
* `public static bool IsTypeOf(this object instance, Type type)` | ||
|
||
Determines whether a type of this instance exactly equals the specified type. | ||
|
||
## Heleonix.Extensions.EnumerableExtensions | ||
|
||
### Methods | ||
|
||
* `public static bool IsEmpty<T>(this IEnumerable<T> instance)` | ||
|
||
* `public static bool IsNullOrEmpty<T>(this IEnumerable<T> instance)` | ||
|
||
## Heleonix.Extensions.ComparableExtensions | ||
|
||
### Methods | ||
|
||
* `public static bool IsLessThan<T>(this IComparable<T> instance, T value)` | ||
|
||
* `public static bool IsLessThanOrEqualTo<T>(this IComparable<T> instance, T value)` | ||
|
||
* `public static bool IsGreaterThan<T>(this IComparable<T> instance, T value)` | ||
|
||
* `public static bool IsGreaterThanOrEqualTo<T>(this IComparable<T> instance, T value)` | ||
|
||
* `public static bool IsInRange<T>(this IComparable<T> instance, T min, T max)` | ||
|
||
Determines whether this instance is in range (inclusive) of the provided values. | ||
|
||
* `public static bool IsBetween<T>(this IComparable<T> instance, T min, T max)` | ||
|
||
Determines whether this instance is between (exclusive) the provided values. | ||
|
||
## Heleonix.Extensions.StringExtensions | ||
|
||
### Methods | ||
|
||
* `public static string FormatWith(this string format, params object[] args)` | ||
|
||
Formats the specified format string with the specified arguments. | ||
|
||
###### Example | ||
|
||
```csharp | ||
var str = "{0} plus {1} equals {2}".FormatWith(1, 2, 3); | ||
|
||
// "1 plus 2 equals 3" | ||
``` | ||
|
||
* `public static string FormatWith(this string format, IFormatProvider formatProvider, params object[] args)` | ||
|
||
Formats the specified format string with the specified arguments using a specified format provider. | ||
|
||
* `public static bool IsNullOrEmptyOrWhiteSpace(this string instance)` | ||
## Documentation | ||
|
||
See [Heleonix.Extensions](https://heleonix.github.io/docs/Heleonix.Extensions) | ||
|
||
## Contribution Guideline | ||
|
||
1. [Create a fork](https://github.com/Heleonix/Heleonix.Extensions/fork) from the main repository | ||
2. Implement whatever is needed | ||
3. [Create a Pull Request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork). | ||
Make sure the assigned [Checks](https://github.com/Heleonix/Heleonix.Extensions/actions/workflows/pr-net.yml) pass successfully. | ||
4. [Request review](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review) from the code owner | ||
5. Once approved, merge your Pull Request via [Squash and merge](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges#squash-and-merge-your-commits) | ||
> **IMPORTANT** | ||
> While merging, enter a [Conventional Commits](https://www.conventionalcommits.org/) commit message. | ||
> This commit message will be used in automatically generated [Github Release Notes](https://github.com/Heleonix/Heleonix.Extensions/releases) | ||
> and [NuGet Release Notes](https://www.nuget.org/packages/Heleonix.Extensions/#releasenotes-body-tab) | ||
6. Monitor the [Release: .NET / NuGet](https://github.com/Heleonix/Heleonix.Extensions/actions/workflows/release-net-nuget.yml) | ||
GitHub workflow to make sure your changes are delivered successfully | ||
7. In case of any issues, please contact [heleonix.sln@gmail.com](mailto:heleonix.sln@gmail.com) |
Oops, something went wrong.