Skip to content

Commit fd76166

Browse files
committed
Add migration doc samples
1 parent cb80491 commit fd76166

File tree

4 files changed

+103
-0
lines changed

4 files changed

+103
-0
lines changed

Assets/Plugins/StreamChat/Core/LowLevelClient/ExtraData/UserObjectDTO.cs renamed to Assets/Plugins/StreamChat/Core/LowLevelClient/ExtraData/UserObjectInternalDTO.cs

File renamed without changes.

Assets/Plugins/StreamChat/Core/LowLevelClient/ExtraData/UserObjectDTO.cs.meta renamed to Assets/Plugins/StreamChat/Core/LowLevelClient/ExtraData/UserObjectInternalDTO.cs.meta

File renamed without changes.
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
using StreamChat.Core.Models;
2+
3+
namespace StreamChat.Samples
4+
{
5+
internal class CodeMigrationTo5x
6+
{
7+
internal void VariableDeclarationAndAssignment()
8+
{
9+
// Old (enum)
10+
//StreamMessageType messageType = StreamMessageType.Regular;
11+
12+
// New (struct)
13+
StreamMessageType messageType = StreamMessageType.Regular;
14+
}
15+
16+
internal void MethodParametersAndAssignment()
17+
{
18+
// Old (enum)
19+
// public void ProcessMessage(StreamMessageType type)
20+
// {
21+
//
22+
// }
23+
24+
// New (struct)
25+
// public void ProcessMessage(StreamMessageType type)
26+
// {
27+
//
28+
// }
29+
}
30+
31+
// New (struct)
32+
public void ProcessMessage(StreamMessageType type)
33+
{
34+
35+
}
36+
37+
internal void Equality()
38+
{
39+
StreamMessageType messageType = StreamMessageType.Regular;
40+
41+
// Old (enum)
42+
if (messageType == StreamMessageType.Regular)
43+
{
44+
// Handle regular message
45+
}
46+
47+
// New (struct)
48+
if (messageType == StreamMessageType.Regular)
49+
{
50+
// Handle system message
51+
}
52+
}
53+
54+
internal void SwitchStatements()
55+
{
56+
// Old (enum)
57+
// switch (messageType)
58+
// {
59+
// case StreamMessageType.Regular:
60+
// // Handle regular message
61+
// break;
62+
// case StreamMessageType.System:
63+
// // Handle system message
64+
// break;
65+
// // ...
66+
// }
67+
68+
StreamMessageType messageType = StreamMessageType.Regular;
69+
70+
// New (struct) - Using if-else statements
71+
if (messageType == StreamMessageType.Regular)
72+
{
73+
// Handle regular message
74+
}
75+
else if (messageType == StreamMessageType.System)
76+
{
77+
// Handle system message
78+
}
79+
80+
switch (messageType)
81+
{
82+
case var type when type == StreamMessageType.Regular:
83+
// Handle regular message
84+
break;
85+
case var type when type == StreamMessageType.System:
86+
// Handle system message
87+
break;
88+
// ...
89+
}
90+
}
91+
92+
internal void ExplicitInitialization()
93+
{
94+
StreamMessageType messageType = StreamMessageType.Regular;
95+
}
96+
97+
// Const-assignment alternative
98+
public static readonly StreamMessageType DefaultMessageType = StreamMessageType.Regular;
99+
}
100+
}

Assets/Plugins/StreamChat/Samples/CodeMigrationTo5x.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)