|
1 | 1 | extern alias References; |
2 | 2 | using System.IO; |
3 | | -using System.Text; |
| 3 | +using Oxide.CSharp.Common; |
4 | 4 | using References::Newtonsoft.Json; |
5 | 5 |
|
6 | 6 | namespace Oxide.CSharp; |
7 | 7 |
|
8 | | -public class Serializer |
| 8 | +internal class Serializer |
9 | 9 | { |
10 | 10 | private readonly JsonSerializer _jsonSerializer; |
11 | | - private readonly UTF8Encoding _encoding; |
12 | 11 |
|
13 | | - public Serializer() |
| 12 | + internal Serializer() |
14 | 13 | { |
15 | 14 | _jsonSerializer = new JsonSerializer(); |
16 | | - _encoding = new UTF8Encoding(false); |
17 | 15 | } |
18 | 16 |
|
19 | | - public void SerializeToStream<T>(MemoryStream memoryStream, T type, int bufferSize) where T : class |
20 | | - { |
21 | | - using StreamWriter streamWriter = new(memoryStream, _encoding, bufferSize, leaveOpen: true); |
22 | | - |
23 | | - _jsonSerializer.Serialize(streamWriter, type); |
24 | | - |
25 | | - streamWriter.Flush(); |
26 | | - } |
27 | | - |
28 | | - public byte[] Serialize<T>(T type) where T : class |
| 17 | + internal byte[] Serialize<T>(T type) where T : class |
29 | 18 | { |
30 | 19 | using MemoryStream memoryStream = new(); |
31 | | - using StreamWriter streamWriter = new(memoryStream, _encoding); |
| 20 | + using StreamWriter streamWriter = new(memoryStream, Constants.CompilerEncoding); |
32 | 21 | _jsonSerializer.Serialize(streamWriter, type); |
33 | 22 | streamWriter.Flush(); |
34 | 23 | return memoryStream.ToArray(); |
35 | 24 | } |
36 | 25 |
|
37 | | - public T Deserialize<T>(byte[] data) where T : class |
| 26 | + internal T? Deserialize<T>(byte[] data) where T : class |
38 | 27 | { |
39 | 28 | using MemoryStream memoryStream = new(data); |
40 | | - using StreamReader streamReader = new(memoryStream, _encoding); |
41 | | - return (T)_jsonSerializer.Deserialize(streamReader, typeof(T)); |
| 29 | + using StreamReader streamReader = new(memoryStream, Constants.CompilerEncoding); |
| 30 | + return (T?)_jsonSerializer.Deserialize(streamReader, typeof(T)); |
42 | 31 | } |
| 32 | + |
| 33 | + internal JsonSerializer GetJsonSerializer() => _jsonSerializer; |
43 | 34 | } |
0 commit comments