Skip to content

Commit b526442

Browse files
authored
Merge pull request #88 from ARKlab/renovate/messagepack-3.x
chore(deps): update dependency messagepack to v3
2 parents 61af6db + 8c5253f commit b526442

File tree

8 files changed

+66
-8
lines changed

8 files changed

+66
-8
lines changed

MessagePack.NodaTime.Tests/ObjectTesting.cs renamed to MessagePack.NodaTime.Tests/ContractlessTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class LDT
1717
}
1818

1919
[Collection("ResolverCollection")]
20-
public class ObjectTesting
20+
public class ContractlessTests
2121
{
2222
[Fact]
2323
public void AnonType()

MessagePack.NodaTime.Tests/Init/MessagePackTestInit.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@ public ResolverFixture()
1212
{
1313
var resolver = CompositeResolver.Create(new[] {
1414
BuiltinResolver.Instance,
15-
NodatimeResolver.Instance,
1615
AttributeFormatterResolver.Instance,
16+
SourceGeneratedFormatterResolver.Instance,
17+
NodatimeResolver.Instance,
1718
DynamicEnumAsStringResolver.Instance,
1819
ContractlessStandardResolver.Instance
1920
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
// Copyright (c) ARK LTD. All rights reserved.
2+
// Licensed under the MIT License. See LICENSE in the project root for
3+
// license information.
4+
using MessagePack;
5+
using MessagePack.Resolvers;
6+
using NodaTime;
7+
using System;
8+
using System.Collections;
9+
using System.Collections.Generic;
10+
using System.Linq;
11+
using Xunit;
12+
13+
namespace MessagePack.NodaTime.Tests
14+
{
15+
[MessagePackObject]
16+
public record MyClass
17+
{
18+
[Key(0)]
19+
public LocalDateTime LocalDateTime { get; set; } = LocalDateTime.FromDateTime(DateTime.Now);
20+
21+
[Key(1)]
22+
public Instant Instant { get; set; } = Instant.FromDateTimeUtc(DateTime.UtcNow);
23+
24+
[Key(2)]
25+
public Period Period { get; set; } = Period.Zero;
26+
27+
[Key(3)]
28+
public LocalDate LocalDate { get; set; } = LocalDate.FromDateTime(DateTime.Now.Date);
29+
30+
[Key(4)]
31+
public OffsetDateTime OffsetDateTime { get; set; } = OffsetDateTime.FromDateTimeOffset(DateTimeOffset.Now);
32+
33+
[Key(5)]
34+
public Duration Duration { get; set; } = Duration.Zero;
35+
36+
[Key(6)]
37+
public ZonedDateTime ZonedDateTime { get; set; } = ZonedDateTime.FromDateTimeOffset(DateTimeOffset.Now);
38+
}
39+
40+
[Collection("ResolverCollection")]
41+
public class SourceGeneratedContractTests
42+
{
43+
[Fact]
44+
public void Roundtrip()
45+
{
46+
var o = new MyClass { LocalDateTime = LocalDateTime.FromDateTime(DateTime.Now) };
47+
var bin = MessagePackSerializer.Serialize(o);
48+
var res = MessagePackSerializer.Deserialize<MyClass>(bin);
49+
50+
Assert.Equal(o.LocalDateTime, res.LocalDateTime); // in DateTime format due to 'abc' being DateTime object
51+
}
52+
}
53+
}

MessagePack.NodaTime/DurationMessagePackFormatter.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
namespace MessagePack.NodaTime
1212
{
13+
[ExcludeFormatterFromSourceGeneratedResolver]
1314
public sealed class DurationAsNanosecondsMessagePackFormatter : IMessagePackFormatter<Duration>
1415
{
1516
public static readonly DurationAsNanosecondsMessagePackFormatter Instance = new DurationAsNanosecondsMessagePackFormatter();

MessagePack.NodaTime/LocalDateMessagePackFormatter.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
namespace MessagePack.NodaTime
99
{
1010
// Not interoperable
11+
[ExcludeFormatterFromSourceGeneratedResolver]
1112
public sealed class LocalDateAsExtMessagePackFormatter : IMessagePackFormatter<LocalDate>
1213
{
1314
public static readonly LocalDateAsExtMessagePackFormatter Instance = new LocalDateAsExtMessagePackFormatter();

MessagePack.NodaTime/MessagePack.NodaTime.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
</PropertyGroup>
2020

2121
<ItemGroup>
22-
<PackageReference Include="MessagePack" Version="2.5.192" />
22+
<PackageReference Include="MessagePack" Version="3.0.308" />
2323
<PackageReference Include="NodaTime" Version="3.2.0" />
2424
</ItemGroup>
2525

MessagePack.NodaTime/PeriodMessagePackFormatter.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
namespace MessagePack.NodaTime
1212
{
13+
[ExcludeFormatterFromSourceGeneratedResolver]
1314
public sealed class PeriodAsIsoStringMessagePackFormatter : IMessagePackFormatter<Period?>
1415
{
1516
public static readonly PeriodAsIsoStringMessagePackFormatter Instance = new PeriodAsIsoStringMessagePackFormatter();

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,12 @@ or download directly from NuGet.
2424
To use the NodaTime resolver, you will have to add it to the composite resolver, as shown in the example below:
2525
```csharp
2626
CompositeResolver.RegisterAndSetAsDefault(
27-
BuiltinResolver.Instance,
28-
NodatimeResolver.Instance,
29-
AttributeFormatterResolver.Instance,
30-
DynamicEnumAsStringResolver.Instance,
31-
ContractlessStandardResolver.Instance
27+
BuiltinResolver.Instance,
28+
AttributeFormatterResolver.Instance,
29+
SourceGeneratedFormatterResolver.Instance,
30+
NodatimeResolver.Instance,
31+
DynamicEnumAsStringResolver.Instance,
32+
ContractlessStandardResolver.Instance
3233
);
3334
```
3435
## Quick Start

0 commit comments

Comments
 (0)