Pathoschild
NuGet publisher profile
Packages (17)
Pathoschild.Http.FluentClient
A modern async HTTP client for REST APIs. Its fluent interface lets you send an HTTP request and parse the response in one go.
Pathoschild.Stardew.ModBuildConfig
Automates the build configuration for crossplatform Stardew Valley SMAPI mods. For SMAPI 4.1.0 or later.
Pathoschild.WebApi.NHibernate-OData
Resolves LINQ compatibility issues between ASP.NET Web API OData and LINQ to NHibernate.
Pathoschild.Http.Formatters.JsonNet
This package has been merged into Pathoschild.Http.FluentClient 2.2+. ----- Provides JSON and BSON implementations of the .NET MediaTypeFormatter using Json.NET. These can be used by HttpClient and Web API for serializing content.
Pathoschild.Stardew.ModTranslationClassBuilder
Access your SMAPI mod translation files in a strongly-typed way.
Pathoschild.Http.Formatters.Core
This package has been merged into Pathoschild.Http.FluentClient 2.2+. ----- A base implementation of the .NET MediaTypeFormatter for serializers used by HttpClient and Web API, which handles the common plumbing code so you only need to implement the "Serialize" and "Deserialize" methods. This includes an example PlainTextFormatter.
Pathoschild.FluentNexus
A modern async HTTP client for the Nexus Mods API. It gives you simple strongly-typed methods to access all of the Nexus API endpoints, handling the gritty details like deserialisation, content negotiation, URL encoding, and error-handling.
Pathoschild.DesignByContract
Enables code contracts on methods and properties. By annotating your code with attributes like [NotNull], you can remove common validation code and provide helpful exception messages, making your code more robust and refactor-safe. These annotation attributes are also recognized by ReSharper when it has an equivalent annotation, which gives you real-time feedback on contract violations as you type.
Pathoschild.DesignByContract.Annotations
(This is a subset of Pathoschild.DesignByContract that contains the annotations but does not enforce them.) Enables code contracts on methods and properties. By annotating your code with attributes like [NotNull], you can remove common validation code and provide helpful exception messages, making your code more robust and refactor-safe. These annotation attributes are also recognized by ReSharper when it has an equivalent annotation, which gives you real-time feedback on contract violations as you type.
Pathoschild.NaturalTimeParser
A partial C# implementation of natural time formats like "last month +3 days" which can be used in date arithmetic.
Pathoschild.LanguageData
A C# view of the Unicode CLDR database of the world's languages, for use in other packages. This library currently provides a complete view of pluralisation rules. See the project page for details.
Pathoschild.PredicateSecurity
Provides relational security on content collections (including deferred LINQ queries for NHibernate or Entity Framework). This lets you define security groups and permissions using LINQ criteria, and then filter collections based on these security rules.
Pathoschild.DotLiquid.Plural
A DotLiquid filter which lets you pluralise messages in any of the 182 languages defined in the Unicode CLDR, including languages with more than two plural forms. For example, you can use "{{ message_count | plural:'message', 'messages' }}.
Pathoschild.FluentJira
A tiny HTTP client for JIRA's REST API. It provides a fluent interface for building API queries, and handles authentication and deserialisation into strongly-typed models.
Pathoschild.ConfigStringParser
A tiny library which lets you read and write any configuration values into a connection string, and convert freely between string and object representations.
Pathoschild.NaturalTimeParser.DotLiquid
Provides a DotLiquid filter which enables date arithmetic like {{ blog.date | date_add:'3 days' }} and tokens like {{ 'today' | date:'yyyy-mm-dd' }}. See the project page for usage.
Pathoschild.NaturalTimeParser.SmartFormat
Provides a SmartFormat plugin which adds relative time tokens like '{Today}' and arithmetic like "last month +3 days", which enables string format strings like {Today:yyyy-MM-dd|-3 days}. See the project page for usage.