neosmart
NuGet publisher profile
Packages (29)
NeoSmart.AsyncLock
A C# lock replacement for async/await, supporting recursion/re-entrance and asynchronous waits. Handles async recursion correctly - note that Nito.AsyncEx does not!
UrlBase64
A standards-compliant implementation of url-safe base64 encode/decode for .NET projects with Span optimizations.
NeoSmart.Caching.Sqlite
An SQLite-backed IDistributedCache cache implementation for ASP.NET Core. Fast, transparent, persistent caching.
StreamCompare
Easily and efficiently compare the contents of two Stream objects.
SecureStore
A simple but secure secrets manager library for .NET and .NET Core, with on-disk encrypted storage. Securely store passwords and private keys in a git-friendly, human-readable format, optimized for local development and secure remote deployment.
NeoSmart.Caching.Sqlite.AspNetCore
ASP.NET Core dependency-injection integrations for NeoSmart.Caching.Sqlite
Unicode.net
A Unicode and emoji text-processing library for .NET, supporting UTF-8, UTF-16, and UTF-32 on .NET 2.0+ and .NET Standard (Core/UWP), with emoji support! 🔥🌶️😁🎉
NeoSmart.Synchronization
Assorted async-friendly mutexes and locks. Includes a scoped mutex (ScopedMutex) for cross-platform key-based locking, async countdown event (CountdownEvent), and others.
xxHash.Core
A high-performance, zero-alloc native .NET/.NET Core port of xxHash, xxHash32, and XXHash64 with both a standalone and streaming interface.
NeoSmart.PrettySize
Calculate, format, or print file sizes; with support for both base 10 (e.g. kilobyte, megabyte, KB, MB) and base 2 (e.g. kibibyte, mebibyte, KiB, MiB) sizes.
NeoSmart.Hashing
Hashing library abstraction, used by various implementations. Contains adapters for System.Security.Cryptography.HashAlgorithm for both streaming and standalone hashing.
UrlPreview
A library to generate URL previews, getting the title, thumbnail, and a short description. Get Amazon URL product previews.
NeoSmart.Linq
LinqPlus provides more LINQ awesomeness, with optimized LINQ methods for specific containers, tuple enumeration of dictionaries, functional LINQ extension methods, single function extensions for common patterns, and more.
NeoSmart.Payments
An abstraction around various payment providers for .NET, currently with support for Stripe, PayPal, PayPal Credit Cards (merchant services), CoinBase, and ChargeBee. Supports subscriptions and one-off payments.
UwpCache
A persistent object cache for your Windows 10 uwp and uap applications.
NeoSmart.Collections
A collection of various containers and data structures for .NET Standard. Includes a real sorted list (NeoSmart.Collections.SortedList), a unique sorted list (NeoSmart.Collections.UniqueSortedList), a publicly resizable array (NeoSmart.Collections.ResizableArray), and a disposable list (NeoSmart.Collections.DisposableList).
TaskThread
A System.Threading.Thread implementation for UAP/UWP targets.
SecureStore.Client
The CLI companion utility to NeoSmart SecureStore, for creating and managing secrets stores at the command line.
UwpTaskbarIcon
Set the Windows 10 task bar icon to a number or glyph with this package for UWP/UAP projects.
NeoSmart.Geographical
Interfaces for representing location data and a strongly-typed static enumeration of the world's countries with their abbreviations. ISO Abbreviation, country codes, UN abbreviations, and more.
NeoSmart.Web
Extension methods and helper classes specifically for the web. Includes a ScopedMutex, SafeLookup helpers for NameValueCollection, FormCollection, and Dictionary types, and dependency-free implementations of client-side signing for S3 and CloudFront. Email validation, DNS lookup, SEO redirection, URL helpers, DateTime conversion to Unix, referer validation, and more.
NeoSmart.Geographical.StatesAndProvinces
A strongly-typed enumeration of states and provinces extending the NeoSmart.Geographical library and interfaces.
NeoSmart.PayPalNvp
A very minimal .NET library for the PayPal NVP API, supporting .NET 2.0+ and ASP.NET Core.
Stream.CopyTo
A Stream.CopyTo implementation for .NET 2.0, .NET 3.0, and .NET 3.5. Just install and use normally, no references required.
Synchronization.NET
A collection of useful synchronization objects and primitives for .NET 2.0+ and .NET Core. Includes a countdown event and a scoped mutex for use instead of a named lock. All synchronization objects can be found in the NeoSmart.Synchronization namespace.
UwpModifierKeys
A simple library for Universal Windows Applications (UWP/UAP) providing easy access to information about pressed modifier keys in KeyUp/KeyDown routines, including the ctrl/control, alt, shift, and Windows keys. An extension method in NeoSmart.Uwp.ModifierKeys extends KeyRoutedEventArgs with a ModifierKeys() method returning an enum of depressed modifier keys.
NeoSmart.TextList
Convert any list or IEnumerable to a properly formatted, plain-text list, with support for Oxford commas and different list item separators. Use "using static NeoSmart.TextList;" and call the extension method IEnumerable<T>.ToTextList() to return a string containing the formatted list of items.
RedisDictionary
Redis-backed persistent storage with the NeoSmart.Redis.RDictionary<K, V> class.
Unreachable
Provides UnreachableException() to be thrown when code cannot be reached.