Typely.Core
1.2.5-alpha
This is a prerelease version of Typely.Core.
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Typely.Core --version 1.2.5-alpha
NuGet\Install-Package Typely.Core -Version 1.2.5-alpha
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="Typely.Core" Version="1.2.5-alpha" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Typely.Core --version 1.2.5-alpha
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Typely.Core, 1.2.5-alpha"
#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 Typely.Core as a Cake Addin #addin nuget:?package=Typely.Core&version=1.2.5-alpha&prerelease // Install Typely.Core as a Cake Tool #tool nuget:?package=Typely.Core&version=1.2.5-alpha&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Typely lets you create types easily with a fluent API to embrace Domain-driven design and value objects.
Example
public class TypesConfiguration : ITypelyConfiguration
{
public void Configure(ITypelyBuilder builder)
{
builder.OfInt().For("Votes");
builder.OfString().For("Code").Length(4).NotEqual("0000");
builder.OfString()
.For("UserId")
.WithNamespace("UserAggregate")
.WithName("Owner identifier")
.NotEmpty()
.NotEqual("0").WithMessage("{Name} cannot be equal to {ComparisonValue}.").WithErrorCode("ERR001")
.MaxLength(20);
builder.OfString()
.For("Monday")
.AsClass()
.WithName(() => LocalizedNames.Moment)
.MinLength(1).WithMessage(() => LocalizedMessages.MinLengthCustom)
.MaxLength(20).WithMessage(() => LocalizedMessages.MaxLengthCustom);
}
}
Documentation
Prerequisites
- Supported .NET versions
- .NET 7.0 and greater
Getting started
Install packages
dotnet add package Typely.Core
dotnet add package Typely.Generators
Create a class inheriting from ITypelyConfiguration
public class TypesConfiguration : ITypelyConfiguration
{
public void Configure(ITypelyBuilder builder)
{
builder.OfString().For("FirstName").NotEmpty();
}
}
Usage
var firstName = FirstName.From("Adam");
FirstName.From(""); //Throws ValidationException
if(!FirstName.TryFrom("value", out FirstName instance, out ValidationError? validationError))
{
// Handle error
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net7.0
- No dependencies.
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Typely.Core:
Package | Downloads |
---|---|
Typely.AspNetCore.Swashbuckle
Package Description |
|
Typely.AspNetCore
Package Description |
|
Typely.EfCore
Typely: Unleashing the power of value object creation with a fluent Api. This package contains integrations with EF Core. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
8.0.0 | 140 | 6/8/2024 |
1.4.0 | 113 | 6/8/2024 |
1.3.0 | 715 | 5/10/2023 |
1.2.5-alpha | 524 | 4/28/2023 |
1.2.4-alpha | 479 | 4/28/2023 |
1.2.3-alpha | 461 | 4/26/2023 |
1.2.2-alpha | 525 | 4/23/2023 |
1.2.1-alpha | 427 | 4/19/2023 |
1.2.0-alpha | 1,411 | 4/16/2023 |
1.1.0-alpha | 1,494 | 4/15/2023 |
1.0.0-alpha | 430 | 4/15/2023 |
0.1.2-alpha | 423 | 1/18/2023 |
0.1.1-alpha | 628 | 1/18/2023 |
0.1.0-alpha | 417 | 1/16/2023 |