Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
JsonCamelCaseNamingPolicy.cs
Go to the documentation of this file.
1
namespace
System.Text.Json
;
2
3
internal
sealed
class
JsonCamelCaseNamingPolicy
:
JsonNamingPolicy
4
{
5
public
override
string
ConvertName
(
string
name)
6
{
7
if
(
string
.IsNullOrEmpty(name) || !
char
.IsUpper(name[0]))
8
{
9
return
name;
10
}
11
return
string
.Create(name.Length, name,
delegate
(
Span<char>
chars
,
string
name)
12
{
13
name.CopyTo(
chars
);
14
FixCasing
(
chars
);
15
});
16
}
17
18
private
static
void
FixCasing
(
Span<char>
chars
)
19
{
20
for
(
int
i = 0; i <
chars.Length
&& (i != 1 ||
char
.IsUpper(
chars
[i])); i++)
21
{
22
bool
flag = i + 1 <
chars
.Length;
23
if
(i > 0 && flag && !
char
.IsUpper(
chars
[i + 1]))
24
{
25
if
(
chars
[i + 1] ==
' '
)
26
{
27
chars
[i] =
char
.ToLowerInvariant(
chars
[i]);
28
}
29
break
;
30
}
31
chars
[i] =
char
.ToLowerInvariant(
chars
[i]);
32
}
33
}
34
}
System.Text.Json.JsonCamelCaseNamingPolicy.FixCasing
static void FixCasing(Span< char > chars)
Definition
JsonCamelCaseNamingPolicy.cs:18
System.Text.Json.JsonCamelCaseNamingPolicy.ConvertName
override string ConvertName(string name)
Definition
JsonCamelCaseNamingPolicy.cs:5
System.Text.Json.JsonCamelCaseNamingPolicy
Definition
JsonCamelCaseNamingPolicy.cs:4
System.Text.Json.JsonNamingPolicy
Definition
JsonNamingPolicy.cs:4
System.Text.Json.ConverterStrategy.Dictionary
@ Dictionary
System.Text.Json
Definition
JsonArray.cs:7
System.ExceptionArgument.chars
@ chars
System.Span
Definition
Span.cs:14
source
System.Text.Json
System.Text.Json
JsonCamelCaseNamingPolicy.cs
Generated by
1.10.0