Skip to content

Commit 5c30e5e

Browse files
authored
feat: add custom serializer support and .net6 support (#63)
1 parent 042d403 commit 5c30e5e

File tree

10 files changed

+42
-14
lines changed

10 files changed

+42
-14
lines changed

.github/workflows/ci.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
- name: Setup dotnet
2626
uses: actions/setup-dotnet@v1
2727
with:
28-
dotnet-version: 5.0.x
28+
dotnet-version: 6.0.x
2929

3030
- name: Dependency cache
3131
uses: actions/cache@v2

.github/workflows/release.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
- name: Setup dotnet
3232
uses: actions/setup-dotnet@v1
3333
with:
34-
dotnet-version: "5.0.x"
34+
dotnet-version: "6.0.x"
3535

3636
- name: Create the package
3737
run: dotnet pack --configuration Release ./src

.github/workflows/reviewdog.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ jobs:
1919
- name: Setup dotnet
2020
uses: actions/setup-dotnet@v1
2121
with:
22-
dotnet-version: 5.0.x
22+
dotnet-version: 6.0.x
2323

2424
- name: Reviewdog
2525
env:
2626
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2727
run: |
28-
dotnet build -clp:NoSummary -p:GenerateFullPaths=true --no-incremental --nologo -f net5.0 -v q src \
28+
dotnet build -clp:NoSummary -p:GenerateFullPaths=true --no-incremental --nologo -f net6.0 -v q src \
2929
| reviewdog -f=dotnet -name=dotnet -reporter=github-pr-review

src/stream-net-tests/IntegrationTests.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44
using System.Collections.Generic;
55
using System.IO;
66
using System.Linq;
7-
using System.Text;
87
using System.Threading.Tasks;
8+
using Newtonsoft.Json;
9+
using Newtonsoft.Json.Serialization;
10+
using Newtonsoft.Json.Linq;
911

1012
namespace StreamNetTests
1113
{
@@ -79,6 +81,10 @@ public async Task TestAddActivityWithArray()
7981
{
8082
var newActivity = new Stream.Activity("1", "test", "1");
8183
newActivity.SetData("complex", new String[] { "tommaso", "thierry", "shawn" });
84+
newActivity.SetData("special_json", new { StuffOneTwo = "thing" }, new JsonSerializer
85+
{
86+
ContractResolver = new DefaultContractResolver { NamingStrategy = new KebabCaseNamingStrategy() }
87+
});
8288
var response = await this._user1.AddActivity(newActivity);
8389
Assert.IsNotNull(response);
8490

@@ -94,6 +100,8 @@ public async Task TestAddActivityWithArray()
94100
Assert.IsNotNull(complex);
95101
Assert.AreEqual(3, complex.Length);
96102
Assert.AreEqual("shawn", complex[2]);
103+
104+
Assert.AreEqual("thing", first.GetData<JObject>("special_json")["stuff-one-two"].Value<string>());
97105
}
98106

99107
[Test]

src/stream-net-tests/stream-net-tests.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
<DefineConstants>TRACE;DEBUG;NETCORE</DefineConstants>
44
</PropertyGroup>
55
<PropertyGroup>
6-
<TargetFrameworks>net5.0</TargetFrameworks>
6+
<TargetFrameworks>net6.0</TargetFrameworks>
77
<IsPackable>false</IsPackable>
88
</PropertyGroup>
99
<ItemGroup>
1010
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.0.0" />
1111
<PackageReference Include="NUnit" Version="3.13.2" />
12-
<PackageReference Include="NUnit3TestAdapter" Version="4.1.0" />
12+
<PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
1313
</ItemGroup>
1414
<ItemGroup>
1515
<ProjectReference Include="..\stream-net\stream-net.csproj">

src/stream-net/Activity.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,14 @@ public T GetData<T>(string name)
8383
return default(T);
8484
}
8585

86-
public void SetData<T>(string name, T data)
86+
public void SetData<T>(string name, T data) => SetData(name, data, null);
87+
88+
public void SetData<T>(string name, T data, JsonSerializer serializer)
8789
{
88-
_data[name] = JValue.FromObject(data);
90+
if (serializer != null)
91+
_data[name] = JValue.FromObject(data, serializer);
92+
else
93+
_data[name] = JValue.FromObject(data);
8994
}
9095

9196
[JsonConstructor]

src/stream-net/Collections.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ public void SetData<T>(string name, T data)
3131
this._data.SetData<T>(name, data);
3232
}
3333

34+
public void SetData<T>(string name, T data, JsonSerializer serializer)
35+
{
36+
this._data.SetData<T>(name, data, serializer);
37+
}
38+
3439
public string Ref(string collectionName)
3540
{
3641
return Collections.Ref(collectionName, this);

src/stream-net/EnrichedActivity.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,14 @@ public T GetData<T>(string name)
7676
return default(T);
7777
}
7878

79-
public void SetData<T>(string name, T data)
79+
public void SetData<T>(string name, T data) => SetData(name, data, null);
80+
81+
public void SetData<T>(string name, T data, JsonSerializer serializer)
8082
{
81-
_data[name] = JValue.FromObject(data);
83+
if (serializer != null)
84+
_data[name] = JValue.FromObject(data, serializer);
85+
else
86+
_data[name] = JValue.FromObject(data);
8287
}
8388

8489
[JsonConstructor]

src/stream-net/GenericData.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,14 @@ public T GetData<T>(string name)
1818
return this._data.TryGetValue(name, out val) ? val.ToObject<T>() : default(T);
1919
}
2020

21-
public void SetData<T>(string name, T data)
21+
public void SetData<T>(string name, T data) => SetData(name, data, null);
22+
23+
public void SetData<T>(string name, T data, JsonSerializer serializer)
2224
{
23-
this._data[name] = JValue.FromObject(data);
25+
if (serializer != null)
26+
_data[name] = JValue.FromObject(data, serializer);
27+
else
28+
_data[name] = JValue.FromObject(data);
2429
}
2530

2631
internal JObject ToJObject()

src/stream-net/stream-net.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<DefineConstants>TRACE;DEBUG;NETCORE</DefineConstants>
44
</PropertyGroup>
55
<PropertyGroup>
6-
<TargetFrameworks>net45;net46;net47;net48;netstandard1.6;netstandard2.0;netstandard2.1;net5.0</TargetFrameworks>
6+
<TargetFrameworks>net45;net46;net47;net48;netstandard1.6;netstandard2.0;netstandard2.1;net5.0;net6.0</TargetFrameworks>
77
</PropertyGroup>
88
<PropertyGroup>
99
<PackageId>stream-net</PackageId>

0 commit comments

Comments
 (0)