Trivial 0.3.6
See the version list below for details.
dotnet add package Trivial --version 0.3.6
NuGet\Install-Package Trivial -Version 0.3.6
<PackageReference Include="Trivial" Version="0.3.6" />
paket add Trivial --version 0.3.6
#r "nuget: Trivial, 0.3.6"
// Install Trivial as a Cake Addin
#addin nuget:?package=Trivial&version=0.3.6
// Install Trivial as a Cake Tool
#tool nuget:?package=Trivial&version=0.3.6
Trivial
This library includes utilities and services for tasks, IO, security, etc.
Tasks
Just add following namespace to your code file to use.
using Trivial.Tasks;
Debounce
Maybe a handler will be asked to process several times in a short time but you just want to process once at the last time because the previous ones are obsolete. A sample is real-time search. You can use following method to do so.
var task = HitTask.Debound(() => {
// Do something...
}, TimeSpan.FromMilliseconds(200));
// Somewhere to raise.
task.ProcessAsync();
Throttle
A handler to be frozen for a while after it has processed.
var task = HitTask.Throttle(() => {
// Do something...
}, TimeSpan.FromMilliseconds(10000));
// Somewhere to raise.
task.ProcessAsync();
Multiple
A handler to process for the specific times and it will be reset after a while.
var task = HitTask.Multiple(() => {
// Do something...
}, 10, null, TimeSpan.FromMilliseconds(200));
// Somewhere to raise.
task.ProcessAsync();
Times
A handler to process for the specific times only and it will be reset after a while. A sample is double click.
var task = HitTask.Times(() => {
// Do something...
}, 2, 2, TimeSpan.FromMilliseconds(200));
// Somewhere to raise.
task.ProcessAsync();
Retry
You can create a linear retry policy or even a customized to process an action with the specific retry policy.
And you use ObservableTask
to observe the state of an action processing.
Mathematics
Just add following namespace to your code file to use.
using Trivial.Maths;
Arithmetic
There a lot of arithmetic functions.
Arithmetic.IsPrime(2147483647); // True
Arithmetic.IsPrime(21474836479); // False
await Arithmetic.IsPrimeAsync(2305843009213693951); // False
Arithmetic.Factorial(10); // 3628800
Arithmetic.Gcd(192, 128); // 64
Arithmetic.Lcm(192, 128); // 384
Numbers
You can get the number symbols as you want.
You can also get the number string in English words.
EnglishNumber.Default.ToString(12345.67);
// twelve thousand three hundred and forty-five point six seven
EnglishNumber.Default.ToString(12345, true);
// one two three four five
And also for Chinese.
ChineseNumber.Simplified.ToString(12345.67);
// 一万两千三百四十五点六七
ChineseNumber.Simplified.ToString(12345, true);
// 一二三四五
ChineseNumber.SimplifiedUppercase.ToString(12345);
// 壹萬贰仟叄佰肆拾伍
Angle and polar point
Angle
Angle.PolarPoint
The point in polar coordinates.
Set
NullableValueSimpleInterval<T>
Interval, such as [20, 100).
Rectangular coordinates
OneDimensionalPoint
The point in 1D (line) coordinates.TwoDimensionalPoint
The point in 2D (flat) coordinates.ThreeDimensionalPoint
The point in 3D (stereoscophic) coordinates.FourDimensionalPoint
The point in 4D (spacetime) coordinates.
Network
Contains the helper functions and extension functions for network, such as HTTP web client and its content.
using Trivial.Net;
And you can also use JsonHttpClient
to serialize the JSON format response with retry policy supports.
And HttpUri
for HTTP URI fields accessing.
Security
Just add following namespace to your code file to use.
using Trivial.Security;
Symmetric and hash
You can encrypt and decrypt a string by symmetric algorithm.
// AES sample.
var original = "Original secret string";
var cipher = SymmetricUtilities.Encrypt(Aes.Create, original, key, iv);
var back = SymmetricUtilities.Decrypt(Aes.Create, cipher, key, iv); // back == original
And also for hash, by HashUtilities.ComputeHashString
function to get hash and HashUtilities.Verify
to verify.
Access token
We also provide a set of tools for OAuth including following models.
TokenInfo
The access token and other properties.AppAccessingKey
The app identifier and secret key.
And you can implement the OpenIdTokenClient
abstract class or TokenResolver
abstract class to get and maintain the access token.
IO
Contains the helper functions and extension functions for FileInfo
and Stream
.
using Trivial.IO;
Geography
Contains the models of geography.
using Trivial.Geography;
Geolocation
You can use Geolocation
, Latitude
, Longitude
and other models for geolocation information.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages (10)
Showing the top 5 NuGet packages that depend on Trivial:
Package | Downloads |
---|---|
Trivial.Console
The console utilities and rich user interface console. |
|
Trivial.WindowsKit
Some advanced visual controls and utilities for Windows app. |
|
NuScien
A core library of NuScien framework which provides a solution to build community and enterprise projects based on resource entity and accessories with ACL and CMS built-in. |
|
Trivial.Chemistry
A library with basic chemical models. |
|
Trivial.Web
A library for web API. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
8.0.0-preview8 | 80 | 4/13/2024 | |
8.0.0-preview7 | 79 | 3/7/2024 | |
8.0.0-preview6 | 84 | 3/6/2024 | |
8.0.0-preview5 | 71 | 3/1/2024 | |
8.0.0-preview4 | 77 | 2/29/2024 | |
8.0.0-preview3 | 71 | 2/28/2024 | |
8.0.0-preview2 | 74 | 2/27/2024 | |
8.0.0-preview1 | 94 | 2/21/2024 | |
7.2.0 | 1,390 | 11/16/2023 | |
7.2.0-preview1 | 415 | 8/1/2023 | |
7.1.2 | 1,268 | 5/10/2023 | |
7.1.1 | 392 | 5/10/2023 | |
7.1.0 | 521 | 5/8/2023 | |
7.0.0 | 1,280 | 1/20/2023 | |
6.6.0 | 3,508 | 11/9/2022 | |
6.5.6 | 1,245 | 10/10/2022 | |
6.5.5 | 611 | 10/9/2022 | |
6.5.4 | 967 | 8/10/2022 | |
6.5.0 | 680 | 6/17/2022 | |
6.4.0 | 2,729 | 4/14/2022 | |
6.3.0 | 1,923 | 3/8/2022 | |
6.2.0 | 4,483 | 1/30/2022 | |
6.1.0 | 1,846 | 1/23/2022 | |
6.0.0 | 1,333 | 1/1/2022 | |
5.2.0 | 4,505 | 12/15/2021 | |
5.1.1 | 593 | 12/3/2021 | |
5.1.0 | 1,304 | 12/2/2021 | |
5.0.0 | 1,308 | 11/27/2021 | |
4.0.0 | 1,049 | 11/9/2021 | |
3.9.0 | 1,281 | 12/15/2021 | |
3.8.0 | 1,168 | 11/9/2021 | |
3.7.2 | 9,076 | 4/22/2021 | |
3.7.0 | 1,560 | 3/17/2021 | |
3.6.2 | 906 | 3/17/2021 | |
3.6.0 | 6,467 | 11/12/2020 | |
3.5.2 | 7,274 | 4/13/2020 | |
3.5.1 | 1,444 | 4/12/2020 | |
3.5.0 | 1,431 | 4/1/2020 | |
3.4.3 | 1,371 | 3/20/2020 | |
3.4.2 | 1,326 | 3/12/2020 | |
3.4.1 | 1,369 | 2/25/2020 | |
3.4.0 | 1,669 | 2/20/2020 | |
3.3.0 | 1,744 | 2/14/2020 | |
3.2.0 | 2,061 | 1/22/2020 | |
3.1.0 | 2,125 | 12/30/2019 | |
3.0.1 | 1,970 | 12/26/2019 | |
2.2.0 | 1,159 | 2/19/2020 | |
2.1.0 | 1,669 | 12/24/2019 | |
2.0.3 | 1,522 | 12/3/2019 | |
1.2.0 | 26,732 | 5/20/2019 | |
1.1.0 | 2,096 | 5/8/2019 | |
1.0.0 | 4,138 | 5/1/2019 |