Unfucked 0.0.0-alpha2
.NET 6.0
This package targets .NET 6.0. The package is compatible with this framework or higher.
.NET Standard 2.0
This package targets .NET Standard 2.0. The package is compatible with this framework or higher.
This is a prerelease version of Unfucked.
There is a newer prerelease version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Unfucked --version 0.0.0-alpha2
NuGet\Install-Package Unfucked -Version 0.0.0-alpha2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Unfucked" Version="0.0.0-alpha2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Unfucked --version 0.0.0-alpha2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Unfucked, 0.0.0-alpha2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Unfucked as a Cake Addin #addin nuget:?package=Unfucked&version=0.0.0-alpha2&prerelease // Install Unfucked as a Cake Tool #tool nuget:?package=Unfucked&version=0.0.0-alpha2&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
🧰 Unfucked
Fix egregiously broken or missing functionality in .NET libraries. Inspired by underscore, jQuery, Apache Commons, Spring, and Guava.
Packages
Unfucked
- Console
- Colored text and background in strings, not tightly coupled to
Console.Write
- Clear screen and move to top-left corner
- Colored text and background in strings, not tightly coupled to
- Cryptography
- Random string generation
- Is certificate temporally valid
- Decimal math
Math
operations on 128-bitdecimal
values
- Directories
- Delete without throwing an exception on missing directories
- DNS
- Fluent resolving method
- Enumerables
- Filter out
null
values - Add multiple values at once
- Upsert into non-concurrent dictionary
- Fluent set difference method
- Filter out consecutive duplicate values
- Convert
IAsyncEnumerator
to list - First item or
null
instead ofdefault
for value types - Head and tail
- Delta changeset between two enumerables (created, updated, deleted, and unchanged items)
- Atomic swap on
ConcurrentDictionary
to upsert new value and get old value
- Filter out
- Paths
- Trim trailing slashes
- Create new empty temporary subdirectory in specific parent directory
- Convert DOS backslashes to Unix forward slashes
- Match file extension against a set
- Processes
- Command line argument marshalling with correct escaping and quoting
- String to array
- Array to string
- Run program and get output and exit code
- Get parent process of a process
- Get descendant processes recursively of a process
- Command line argument marshalling with correct escaping and quoting
- Strings
- Coerce empty strings to
null
- Fluently check if a string has any non-whitespace characters
- Fluently check if a string has any characters
- Fluent join method
- Uppercase first letter
- Lowercase first letter
- Trim multiple strings from start, end, or both
- Join enumerable into an English-style list with commas an a conjunction like
and
- Fluent conversion method to byte array
- Fluent conversion method to byte stream
- Convert DOS CRLF line breaks to Unix LF line breaks
- Repeat a string a certain number of times
- Coerce empty strings to
- Tasks
- Unbounded delay time (.NET 6 tops out at 49.7 days)
- Await multiple tasks and proceed when any of them both completes and the return value passes a predicate, or they all fail to complete or the predicate
- Return
true
if any passed orfalse
if they all failed - Return the first passing task's result, or
null
if they all failed
- Return
- Asynchronously await the cancellation of a
CancellationToken
without blocking the thread
- URIs
- Fluent method to get URI query parameters
- Check if a URI host belongs to a given domain (site locking)
- XML
- Fluent method to read an XML document from an HTTP response body
- Find all descendant elements of a parent node which have a given tag name
Unfucked.Caching
- Type-safe
MemoryCache<T>
Unfucked.Compression
- TAR archives
- Symlinks
- Directories
- File owner
- File group
- File permissions
Unfucked.DateTime
- Absolute value of a
Duration
orTimeSpan
- Get midnight from a
ZonedDateTime
as aZonedDateTime
,Period
, orDuration
- Convert time zone offset to hours
- Compare two
OffsetDateTimes
to see which one happens first
Unfucked.DependencyInjection
- Add a colored console with column formatted data
- Search for JSON configuration files in executable directory, not just current working directory
- Allow provider functions to be injected, so long-lived consumers can depend on short-lived dependencies and control their lifecycle
Unfucked.DNS
- Interface for Gandi LiveDNS HTTP API client to allow mocked testing isolation
Unfucked.ICS
- Asynchronously serialize iCalendar files to a byte stream, to prevent Kestrel and IIS errors on synchronous I/O
- Converters between the three implementations of a datetime used by Ical.Net, NodaTime, and .NET
Unfucked.OBS
- Interface for Open Broadcaster Software Studio WebSocket API client to allow mocked testing isolation
Unfucked.PGP
- Detached signing, where an ASCII-armored PGP signature is generated in a sidecar file, not inline wrapping the file being signed like in clearsigning
Unfucked.STUN
- STUN client that retains the server that it was configured with, useful for error logging
- Multi-server STUN client that transparently picks a random public STUN server from a constantly-updated list when sending a request, with retries and fallbacks if any of them fail
- Thread-safe multi-server STUN client that can be used concurrently from multiple threads without conflicts
Unfucked.Twitch
- Interface for Twitch HTTP API client to allow mocked testing isolation
Unfucked.Windows
- Reliably detect when computer is entering and exiting standby
- Kill the running screensaver
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. 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 is compatible. 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 is compatible. |
.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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Microsoft.Bcl.AsyncInterfaces (>= 8.0.0)
-
.NETStandard 2.1
- No dependencies.
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Unfucked:
Package | Downloads |
---|---|
Unfucked.Windows
Package Description |
|
Unfucked.PGP
Package Description |
|
Unfucked.DI
Package Description |
|
Unfucked.STUN
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.0.0-beta3 | 99 | 9/30/2024 |
0.0.0-beta2 | 71 | 9/8/2024 |
0.0.0-beta1 | 61 | 9/7/2024 |
0.0.0-alpha2 | 53 | 9/7/2024 |
0.0.0-alpha1 | 71 | 8/10/2024 |