Qowaiv 7.4.4
dotnet add package Qowaiv --version 7.4.4
NuGet\Install-Package Qowaiv -Version 7.4.4
<PackageReference Include="Qowaiv" Version="7.4.4" />
<PackageVersion Include="Qowaiv" Version="7.4.4" />
<PackageReference Include="Qowaiv" />
paket add Qowaiv --version 7.4.4
#r "nuget: Qowaiv, 7.4.4"
#:package Qowaiv@7.4.4
#addin nuget:?package=Qowaiv&version=7.4.4
#tool nuget:?package=Qowaiv&version=7.4.4
Qowaiv
Domain-driven design bottom up
Qowaiv is a (Single) Value Object library. It aims to model reusable, immutable, (Single) Value Objects that can be used in a wide variety of modeling scenarios, both inside and outside a Domain-driven context.
Package
This package contains multiple Single Value Objects, including but not limited to:
- Date (comparable to DateOnly, but also available for older .NET versions)
- Percentage
- EmailAddress
- Generic ID
- Generic SVO
Further reading
More info can be found at https://github.com/Qowaiv/Qowaiv.
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. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.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 was computed. |
.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. |
-
.NETStandard 2.0
- System.Memory (>= 4.6.3)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (11)
Showing the top 5 NuGet packages that depend on Qowaiv:
Package | Downloads |
---|---|
Qowaiv.Validation.DataAnnotations
Qowaiv Validation supports a generic interface for (domain) model validation. |
|
Qowaiv.Validation.Fluent
Qowaiv Validation supports a generic interface for (domain) model validation. |
|
Qowaiv.Validation.TestTools
Qowaiv Validation supports a generic interface for (domain) model validation. |
|
Qowaiv.TestTools
Qowaiv is a (Single) Value Object library. It aims to model reusable (Single) Value Objects that can be used in a wide variety of modeling scenarios, both inside and outside a Domain-driven context. |
|
Qowaiv.Web
Qowaiv implements common, universal domain objects. These types form the base of your domain model. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated | |
---|---|---|---|
7.4.4 | 608 | 9/18/2025 | |
7.4.3 | 13,547 | 6/2/2025 | |
7.4.2 | 3,235 | 5/14/2025 | |
7.4.1 | 946 | 5/13/2025 | |
7.4.0 | 442 | 5/12/2025 | |
7.3.0 | 3,959 | 4/23/2025 | |
7.3.0-rc.1 | 170 | 4/23/2025 | |
7.2.3 | 20,070 | 1/28/2025 | |
7.2.2 | 17,534 | 1/6/2025 | |
7.2.1 | 3,308 | 12/19/2024 | |
7.2.0 | 21,749 | 11/15/2024 | |
7.1.3 | 11,031 | 10/28/2024 | |
7.1.2 | 7,738 | 10/10/2024 | |
7.1.1 | 705 | 10/9/2024 | |
7.1.0 | 196 | 10/9/2024 | |
7.0.5 | 6,364 | 9/25/2024 | |
7.0.4 | 11,259 | 8/12/2024 | |
7.0.3 | 1,166 | 8/10/2024 | |
7.0.2 | 433 | 8/9/2024 | |
7.0.1 | 6,296 | 7/2/2024 | |
7.0.0 | 13,709 | 6/28/2024 | |
7.0.0-rc.1 | 126 | 6/27/2024 | |
6.6.2 | 11,240 | 4/19/2024 | |
6.6.1 | 20,245 | 1/29/2024 | |
6.6.0 | 7,000 | 1/15/2024 | |
6.5.4 | 7,204 | 11/8/2023 | |
6.5.3 | 18,098 | 10/24/2023 | |
6.5.2 | 529 | 10/23/2023 | |
6.5.1 | 7,896 | 9/11/2023 | |
6.5.0 | 836 | 8/30/2023 | |
6.4.4 | 4,113 | 8/8/2023 | |
6.4.3 | 5,188 | 7/31/2023 | |
6.4.2 | 5,159 | 7/17/2023 | |
6.4.1 | 25,608 | 2/17/2023 | |
6.4.0 | 15,564 | 1/13/2023 | |
6.3.1 | 18,511 | 11/13/2022 | |
6.3.0 | 9,859 | 10/11/2022 | |
6.2.2 | 6,055 | 9/14/2022 | |
6.2.1 | 1,931 | 8/30/2022 | |
6.2.0 | 937 | 8/19/2022 | |
6.1.2 | 13,689 | 6/15/2022 | |
6.1.1 | 778 | 6/6/2022 | |
6.1.0 | 863 | 5/31/2022 | |
6.0.2 | 6,408 | 5/13/2022 | |
6.0.1 | 18,387 | 2/14/2022 | |
6.0.0 | 74,057 | 12/30/2021 | |
6.0.0-r1 | 1,407 | 11/11/2021 | |
5.1.5 | 1,560 | 12/22/2021 | |
5.1.4 | 11,467 | 10/26/2021 | |
5.1.3 | 512 | 10/19/2021 | |
5.1.2 | 2,079 | 9/30/2021 | |
5.1.1 | 30,955 | 4/9/2020 | |
5.1.0 | 7,397 | 4/8/2020 | |
5.0.1 | 998 | 2/18/2020 | |
5.0.0 | 2,459 | 12/11/2019 | |
4.1.0 | 2,293 | 11/3/2019 | |
4.0.6 | 4,687 | 10/2/2019 | |
4.0.5 | 2,194 | 9/6/2019 | |
4.0.4 | 908 | 9/4/2019 | |
4.0.3 | 1,123 | 8/26/2019 | |
4.0.2 | 1,910 | 7/28/2019 | |
4.0.1 | 1,241 | 7/26/2019 | |
4.0.0 | 5,355 | 7/9/2019 | |
3.2.5 | 1,969 | 5/20/2019 | |
3.2.4 | 1,377 | 4/5/2019 | |
3.2.3 | 1,007 | 4/3/2019 | |
3.2.1 | 6,724 | 10/12/2018 | |
3.2.0 | 3,111 | 8/8/2018 | |
3.1.3 | 5,389 | 4/17/2018 | |
3.1.2 | 4,920 | 12/12/2017 | |
3.1.1 | 2,312 | 11/21/2017 | |
3.1.0 | 2,475 | 11/7/2017 | |
3.0.0.223 | 2,093 | 11/30/2016 | |
2.0.2.186 | 2,363 | 4/15/2016 | |
2.0.2.185 | 1,934 | 4/14/2016 | |
2.0.1.179 | 2,614 | 2/29/2016 | |
2.0.0.164 | 2,005 | 12/4/2015 | |
2.0.0.159 | 2,656 | 12/3/2015 | |
2.0.0.150 | 3,477 | 11/30/2015 | |
1.0.0.139 | 3,362 | 10/13/2015 |
v7.4.4
- Add Oman, Somalia, and Yemen to the list of countries with IBAN. #508
- Provide a JsonConverter for System.Globalization.CultureInfo as Microsoft does not. #515
- Provide a TypeConverter for System.Net.Http.HttpMethod as Microsoft does not. #514
- Provide a JsonConverter for System.Net.Http.HttpMethod as Microsoft does not. #514
v7.4.3
- Introduction of INext<TSelf>.
- Update System.Memory to 4.6.3 (netstandard2.0 only).
- Update System.Runtime.CompilerServices.Unsafe to 6.1.2 (netstandard2.0 only).
v7.4.2
- Code generators are decorated with [Conditional("CODE_GENERATOR_ATTRIBUTES")].
v7.4.1
- return null instead of default(TSvo) for TryCreate when false.
v7.4.0
- Support [Id<TBehavior, TRaw>]. #483
v7.3.0
- Hide Guard methods from stacktrace.
- Use [SkipLocalsInit] (speed improvement). #458
- Email address topdomain can not be longer than 63. (fix) #459
- Rewritten email parser is 2.4 times faster. #460
- Drop CharBuffer in favor of Span<char> based implementations. #464
- Support [Svo<TBehavior>]. #478
v7.2.3
- IBAN adjustments for Nicaragua and Côte d'Ivoire. (fix) #454
v7.2.2
- PostalCode.Empty is valid for countries without a postal code system. (fix) #444
- Added Country.HasPostalCodeSystem(). #444
- Use Random.Shared in DecimalMath. #448
- IBAN internals clean-up. #449
v7.2.1
- Add Deconstruct to Date.
- Add Deconstruct to DateSpan.
- Add Deconstruct to Fraction,
- Add Deconstruct to FormattingAgurments.
- Add Deconstruct to Money.
- Add Deconstruct to MonthSpan.
- Add Deconstruct to WeekDate.
- Add Deconstruct to YearMonth.
- Year-month Open API definition pattern allows months without leading zero. (fix)
v7.2.0
- Added .NET 9.0 version to the package.
- Singapore postal codes contain 6, not 5 digits. (fix)
- Potentially improved performance of concurrency when generating C# type names and looking up localized strings in .NET 9 and up (using new System.Threading.Lock).
v7.1.3
- Provide way to skip the JSON serialization of empty SVO's with ModifyTypeInfo.IgnoreEmptySvos. #427
v7.1.2
- Add examples to the intellisense of Percentage.Create(), .Percent() and casts from and to numbers.
v7.1.1
- Diagnostics contracts compiled internals.
- Wildcard patterns with trailing chars at the end. #417 (fix)
v7.0.5
- Extensions to calculate the sum and average for multiple percentges. #415
- Add ZeroIfNull() on INumberBase<TSelf>. #416
v7.0.4
- Percentage.TryParse should first change the scale, before checking the boundaries. (fix)
v7.0.3
- DecimalMath.ChangeScale() should have a value between [0.28]. #405 (fix)
v7.0.2
- Introduction of Year-Month. #295
- Email address parsing performance improvements.
- Add check for percentage.MaxValue and percentage.MinValue when creating a percentage. (fix)
- Use DecimalMath.Pow10() to convert decimal values to percentages.
- DateTimeOffset.ToLocal() wrongly converted DateTime before creation LocalDateTime. #404 (fix)
v7.0.1
- ISpanFormattable INumbers should be able to provide formatting (.NET 8.0 only). #393 (fix)
v7.0.0
- Drop support for .NET 5 and .NET 7 STS's. #359 (breaking)
- Drop email address collection. #382 (breaking)
- Drop Gender. #361 (breaking)
- Drop public static IsValid(string) methods. #361 (breaking)
- Align Parse and TryParse provider naming with IParsable. #360 (breaking)
- Seal all JSON converters. #361 (breaking)
- Move Qowaiv.Diagnostics.Contracs to a separate package. (breaking)
- Clock.Now returns DateTimeOffset. (breaking)
- Clock.NowWithOffset is dropped. (breaking)
- Implement IMinMaxValue<TSelf> for SVO's with a min and max value. #362 (breaking)
- Extension methods on DateTimeOffset.
- Implement INumber<Percentage>. #367
- Implement INumber<Amount>. #370
- Introduction of the IEmpty<TSelf> interface. #364
- Improve ToString of UUID's. #365
- Improve parsing of UUID's. #365
- Introduction of the IUnknown<TSelf> interface. #366
- Provide Clock as TimeProvider (.NET 8.0 only). #371
- Deserializing ID's from JSON numeric nodes takes constrains into account. #374
v6.6.2
- JSON-deserialization from decimal.MaxValue (as double) should not fail. #386 (fix)
v6.6.1
- Add missing IParsable interface for Id. #372
v6.6.0
- Add former countries. #357
- Update display names countries (EN, DE, NL). #356
- Fix parsing (former) countries. #356
- Add HumanReadable() and MachineReadable() methods to IBAN. #354
- Support IBAN prefix while parsing. #353
- Rewrite of IBAN parsing/validation. #351
- Added the Central African Republic, Russia, and Sudan's IBAN patterns. #349
- Increase regex time-out to 50 ms. #346
- Decorate bool Equals(object) with [NotNullWhen(true)]. #345
- TryApplyCustomFormatter should return false if the provider returns null. #341
- Add Amount.Min() and Amount.Max(). #342
- Extend API with overloads for DateOnly. #339
- Detailed information on failing parsing. #336
v6.5.4
- SVO's can be used as keys when applying JSON serialization. #334
v6.5.3
- ToCShaprString() supports nested types with generic type definitions. #333
v6.5.2
- ToCSharpString() supports nested types with generics. #332
v6.5.1
- Make JSON ID converters thread-safe. #330
v6.5.0
- Introduction of HasValue and IsKnown for non-continuous SVO's. #327
v6.4.4
- Introduction of EnergyLabel. #324
v6.4.3
- Analyzers should not be included in NuGet packages. #321 (fix)
V6.4.2
- Svo<SvoBehavior> and Id<IdBehavior> decorated with IEqualityOperators. #315
v6.4.1
- Clock.SetTimeForCurrentContext supports async. #304
- Fix issue with not closed comment in parsing email adresses. #298
- Decorate string arguments representing regexes with [StringSyntax(StringSyntaxAttribute.Regex)]. #301
- Decorate methods that always throw with [DoesNotReturn] attribute. #300
- Mark all static IsValid(string) methods obsolete. #297
v6.4.0
- Support .NET 7.0. #261
- Added DateSpan to a date (time) providing DateSpanSettings. #291
- Add IsIn(Year) and IsIn(Month) for date (time) types. #290
- Regular expressions are culture invariant. #285
- Extended operators on MonthSpan. #270
- Added static contracts. #269, #275
v6.3.1
- Extend allowed durations on regular expression. #263
v6.3.0
- JSON serialization via System.Text.Json no longer requires a custom converter. #259
v6.2.2
- Introduction of CasRegistryNumber. #258
v6.2.1
- Prevent implicit casting by introducing obsolete operator overloads. #257 (fix)
v6.2.0
- Introduction of Svo<SvoBehavior> as a generic for string based SVO's. #248
v6.1.2
- Sums on empty collections should not throw. #251
v6.1.1
- Limit match durations on Regular Expressions. #246
v6.1.0
- All SVO's are read-only. #243
v6.0.2
- Extend Open API support for ID<T>. #239
v6.0.1
- Int64 based id serializes to a JSON string #236
- Percentage.MaxValue representable as a string #235
v6.0.0
- Added .NET 6.0 version to the package. #216
- Sex as replacement Gender (ISO 5218). #214
- YesNo converter support from and to boolean. #208
- Introduction of (string based) secret. #200
- Decorate nullable types. #228
- Cryptographic seed stripped from SVO contract. #215 (breaking)
- TryParse(string) returns nullable SVO. #206 (breaking)
- Drop cast from and to string. #212 (breaking)
- Drop obsolete code. #201 (breaking)
- Re-order extension methods. #209 (breaking)
- Non-predictable hash codes. #205 (breaking)
v5.1.5
- Percentage can not be initialized on environments lacking French or Iranian culture. #226
v5.1.4
- ConvertFrom(object) should not use fallback when TryCreate() fails. #194
v5.1.3
- ConvertFrom(object) should use Behavior.TryCreate(). #189
v5.1.2
- Extend Open API documentation with explicit example. #188
v5.1.1
- Revoked `IConvertable` (fix)
v5.1.0
- Introduction of strongly-typed identifier (#132)
- Introduction of `MonthSpan` (#142)
- Introduction of `Fraction` (#128)
- Introduction of a UUID/GUID comparer (#125)
- Add `IConvertable` to all SVO's (#133)
- Added `Sign()` method (#131)
- Added `Uuid.NewSequential()` (#123)
- Added `YesNo.YesOrNo()` method (#141)
- Added `CultureInfo.Scoped()` extension method (#146)
- Added `Type.ToCSharpString()` extension method (#139)
- Extended support on email addresses (#143)
- Invalid casts throw `InvalidCastException`s (#137) fix
- `CompereTo(object)` returns one on object is null (#126) fix
v5.0.1
- Fix minor issue with serializing Amount.Zero. (#121) fix
- DecimalRound.IsNearestRouding => DecimalRound.IsNearestRounding (#119) fix
- NaN, +oo, -oo are not longer valid values for Elo (#118) fix
v5.0.0
- JSON serialization is convention based. (#115) breaking
- Dropped `BankIdentifierCode`. (#116) breaking
v4.1.0
- Introduction of `DateSpan` (#95)
- Money, Amount, Percentage and SteamSize have `Abs()` method (#96)
- Money, Amount, Percentage and SteamSize have `Round()` method (#96)
- Introduction of `DecimalRound.Round()` and `RoundToMultiple()` (#97)
- `Date.FromJson(DateTime)` ignores time part (#98) fix
- Null message `NotSupportedException_ConverterCanNotConvertFomString` (#100) fix
v4.0.6
- Support OpenAPI (#81)
- Fix on serialization Month (#88)
- Introduction of BusinessIdentifierCode (#89)
v4.0.5
- Added support of "mailto:"-prefix on email address (#78)
- Fix on '<' in display name on email address (#77)
v4.0.4
- Added Percentage.Min() and Percentage.Max() (#73)
- Added Percentage.Round() (#74)
v4.0.3
- Added Percent() extension method (#70)
v4.0.2
- Extended display name support for email address #69
v4.0.1
- Added support for 12 new countries with IBAN patterns #65
- Fix Y-N parsing for non-English languages #66
v4.0.0
- .NET standard 2.0 only (#59)
- Drop of Qowaiv.Web, Qowaiv.Json.Newtonsoft packages
v3.2.4
- Introduction of Clock.NowWithOffset(TimezoneInfo) #45
- Fix LocalDateTime to always have DateTimeKind.Local and no loss of ticks
- Clock.UtcNow() is guaranteed to have DateTimeKind.Utc
v3.2.3
- Introduced Clock (#44)
v3.2.2
- JsonConverter only throws JSON exceptions #36
v3.2.1
- TypeConverters support conversions from the underlying value type (#19)
- Added Month.Days(year) (#30)
v3.2.0
- Added the country Kosovo (#22)
- Made SonarAnalyzer dependency a private asset (#26)
- Extended Qowaiv.ComponentModel.Result with factory methods (#24)
- Introduced Qowaiv.ComponentModel.DataAnnotations.AnyAttribute (#25)
- Fix in email address collection (#21)
v3.1.3
- Fix in email address validation (#18)
v3.1.2
- New Base-32 implementation
v3.1.1
- Introduced Component Model validation
v3.0.0.223
- Introduced namespaces Financial, Globalization, Security, Statistics, and moved types from root namespace to those.
- Introduced Money.
v2.0.2.186
- Add Qowaiv.Text.Base32.
- Added explicit conversion from Gender to Byte.
v2.0.1.179
- Internal refactoring based on SonarLint recommendations.
- Converted solution to Visual Studio 2015.
- Extended country and currency definitions.
v2.0.0.164
- Added Qowaiv.Statistics.Elo.
v2.0.0.159
- Fixed an issue with negative values for StreamSize.
v2.0.0.150
- Fix NuGet dependencies and use .net 4.5.
v2.0.0.149
- Made Qowaiv.Guard internal.
v1.0.0.139
- Introduced a build based on Fake.