![]() |
VOOZH | about |
dotnet add package Trivial --version 9.8.0
NuGet\Install-Package Trivial -Version 9.8.0
<PackageReference Include="Trivial" Version="9.8.0" />
<PackageVersion Include="Trivial" Version="9.8.0" />Directory.Packages.props
<PackageReference Include="Trivial" />Project file
paket add Trivial --version 9.8.0
#r "nuget: Trivial, 9.8.0"
#:package Trivial@9.8.0
#addin nuget:?package=Trivial&version=9.8.0Install as a Cake Addin
#tool nuget:?package=Trivial&version=9.8.0Install as a Cake Tool
Includes utilities and services for tasks, security, JSON, etc.
using Trivial.Tasks;
Set an action with a specific interceptor to control its execution.
Interceptor.Debounce:
Request to invoke a specific action several times in a short time but only the last one should be executed and previous ones should be ignored.
A sample is real-time search suggestion.Interceptor.Throttle:
Raise actually only once in a short time even if invoke several times.
A sample is the submit button in a form.Interceptor.Times:
The action can be only executed only when invoke in the specific times range and others will be ignored.
A sample is double click.Interceptor.Multiple:
A handler to execute for the specific times and the state will be reset after a while.// Set an action with interceptor.
var action = Interceptor.Debounce(() =>
{
// Do something...
}, TimeSpan.FromMilliseconds(200));
// Invoke somewhere.
action();
Create a linear retry policy by LinearRetryPolicy or a customized one to process an action with the specific retry policy.
And you can use ObservableTask to observe the state of an action processing.
Contains the helper functions and extension functions for network, such as HTTP web client and its content.
using Trivial.Net;
Use JsonHttpClient to serialize the JSON format response with additional retry policy.
And HttpUri for HTTP URI fields accessing.
using Trivial.Security;
Provide a set of tools for OAuth including following models.
TokenInfo The access token and other properties.AppAccessingKey The app identifier and secret key.OAuthClient The token container with the ability to resolve the access token and create the JSON HTTP web client to access the resources required authentication.Optional to implement the OAuthBasedClient base class to create your own business HTTP web client factory with OAuth supports.
Create a JSON web token to get the string encoded by initializing a new instance of the JsonWebToken class or the JsonWebTokenParser class.
var jwt = new JsonWebTokenPayload
{
Id = Guid.NewGuid().ToString("n"),
Issuer = "example"
} + HashSignatureProvider.CreateHS512("a secret string");
// Get authenticiation header value.
var header = jwt.ToAuthenticationHeaderValue();
// Parse.
var jwtSame = JsonWebToken<Model>.Parse(jwtStr, sign); // jwtSame.ToEncodedString() == header.Parameter
Convert a PEM (OpenSSL RSA key) or an XML string to the RSAParameters struct.
var parameters = RSAParametersConvert.Parse(pem);
And convert back by extension method ToPrivatePEMString or ToPublicPEMString.
Or to XML by extension method ToXElement.
Use a symmetric algorithm to encrypt and decrypt a string by calling SymmetricUtilities.Encrypt and SymmetricUtilities.DecryptText functions.
For hash algorithm, you can call HashUtilities.ToHashString function to get hash from a plain string and call HashUtilities.Verify to verify.
Convert the secret between SecureString and String/StringBuilder/Byte[] by the SecureStringExtensions class.
And class RSASecretExchange is used to transfer the secret by RSA encryption.
using Trivial.Text;
Includes writable JSON DOM JsonObjectNode and JsonArrayNode.
And includes lots of useful converter like following.
JsonJavaScriptTicksConverter and its fallback converters to convert DateTime from/to JavaScript ticks number in JSON.JsonUnixTimestampConverter and its fallback converters to convert DateTime from/to Unix timestamp number in JSON.JsonNumberConverter and JsonNumberConverter.NumberStringConverter, to read number string in JSON.JsonStringListConverter and its character separated converters (such as JsonStringListConverter.WhiteSpaceSeparatedConverter) to convert a string list from/to a string in JSON.Read CSV or TSV file into a list of the specific models.
For example, you have a model class CsvModel with string properties A and B, now you can map to the CSV file.
var csv = new CsvParser("abcd,efg\nhijk,lmn");
foreach (var model in csv.ConvertTo<CsvModel>(new[] { "A", "B" }))
{
Console.WriteLine("{0},{1}", model.A, model.B);
}
using Trivial.Data;
Save a number of model in memory cache by generic class DataCacheCollection.
using Trivial.Drawing;
Color adjustment, converter, parser and mixer.
var color = ColorCalculator.Parse("rgb(226, 37, 0xA8)");
color = ColorCalculator.Opacity(color, 0.9);
color = ColorCalculator.Saturate(color, RelativeSaturationLevels.High);
color = ColorCalculator.Mix(ColorMixTypes.Lighten, color, Color.FromArgb(0, 240, 0));
using Trivial.Maths;
There are a lot of arithmetic functions.
Arithmetic.IsPrime(2147483647); // True
Arithmetic.Gcd(192, 128); // 64
Get the number symbols as you want. And get the numerals in English.
EnglishNumerals.Default.ToString(12345.67);
// twelve thousand three hundred and forty-five point six seven
EnglishNumerals.Default.ToApproximationString(1234567);
// 1.2M
And ChineseNumerals for Chinese and JapaneseNumerals for Japanese.
Angle Angle.PolarPoint The point in polar coordinates.SphericalPoint The point in spherical coordinates.NullableValueSimpleInterval<T> Interval, such as [20, 100).IntPoint1D DoublePoint1D The point in 1D (line) coordinates.IntPoint2D DoublePoint2D The point in 2D (flat) coordinates.IntPoint3D DoublePoint3D The point in 3D (stereoscophic) coordinates.SpacetimePoint The point in 4D (spacetime) coordinates.| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 net6.0 is compatible. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Framework | net461 net461 is compatible. net462 net462 is compatible. net463 net463 was computed. net47 net47 was computed. net471 net471 was computed. net472 net472 was computed. net48 net48 is compatible. net481 net481 was computed. |
Showing the top 5 NuGet packages that depend on Trivial:
| Package | Downloads |
|---|---|
|
Trivial.Console
The utilities and rich interface component of 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. |
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.0-preview2 | 95 | 5/27/2026 |
| 10.0.0-preview1 | 136 | 1/14/2026 |
| 9.8.0 | 596 | 11/12/2025 |
| 9.7.0 | 542 | 8/7/2025 |
| 9.6.0 | 556 | 7/9/2025 |
| 9.5.0 | 410 | 6/1/2025 |
| 9.4.0 | 881 | 2/12/2025 |
| 9.3.0 | 381 | 1/19/2025 |
| 9.2.0 | 1,197 | 1/10/2025 |
| 9.1.0 | 368 | 12/24/2024 |
| 9.0.0 | 429 | 12/12/2024 |
| 8.0.0 | 2,845 | 6/12/2024 |