msgpack, toml関連を除去

#682
This commit is contained in:
ousttrue
2021-02-09 14:58:07 +09:00
parent 39d54ce7d3
commit 8c8f39059a
42 changed files with 1 additions and 4305 deletions

View File

@@ -21,32 +21,5 @@ namespace UniJSON
{
return JsonParser.Parse(new Utf8String(bytes));
}
public static ListTreeNode<MsgPackValue> ParseAsMsgPack(this byte[] bytes)
{
return MsgPackParser.Parse(bytes);
}
public static ListTreeNode<MsgPackValue> ParseAsMsgPack(this ArraySegment<byte> bytes)
{
return MsgPackParser.Parse(bytes);
}
public static ListTreeNode<TomlValue> ParseAsToml(this string toml)
{
return TomlParser.Parse(toml);
}
public static ListTreeNode<TomlValue> ParseAsToml(this Utf8String toml)
{
return TomlParser.Parse(toml);
}
public static ListTreeNode<TomlValue> ParseAsToml(this byte[] bytes)
{
return TomlParser.Parse(new Utf8String(bytes));
}
public static ListTreeNode<TomlValue> ParseAsToml(this ArraySegment<byte> bytes)
{
return TomlParser.Parse(new Utf8String(bytes));
}
}
}

View File

@@ -13,7 +13,7 @@ namespace UniJSON
}
else
{
throw new MsgPackTypeException("can not null");
throw new Exception("can not null");
}
}

View File

@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 1cffddcba2f97d44589d1fe7e05dfc2d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,434 +0,0 @@
using System;
using System.Net;
namespace UniJSON
{
public static class EndianConverter
{
#if false
/*
#region Converter
/// <summary>
/// Read Uint16 From NetworkBytesOrder to HostBytesOrder
/// </summary>
/// <param name="bytes"></param>
/// <returns></returns>
public static UInt16 N2H_UInt16(this ArraySegment<Byte> self)
{
if (BitConverter.IsLittleEndian)
{
return (UInt16)(self.Get(0) << 8 | self.Get(1));
}
else
{
return BitConverter.ToUInt16(self.Array, self.Offset);
}
}
public static UInt32 N2H_UInt32(this ArraySegment<Byte> self)
{
if (BitConverter.IsLittleEndian)
{
return (UInt32)(self.Get(0) << 24 | self.Get(1) << 16 | self.Get(2) << 8 | self.Get(3));
}
else
{
return BitConverter.ToUInt32(self.Array, self.Offset);
}
}
public static UInt64 N2H_UInt64(this ArraySegment<Byte> self)
{
var uvalue = BitConverter.ToUInt64(self.Array, self.Offset);
if (BitConverter.IsLittleEndian)
{
ulong swapped =
((0x00000000000000FF) & (uvalue >> 56)
| (0x000000000000FF00) & (uvalue >> 40)
| (0x0000000000FF0000) & (uvalue >> 24)
| (0x00000000FF000000) & (uvalue >> 8)
| (0x000000FF00000000) & (uvalue << 8)
| (0x0000FF0000000000) & (uvalue << 24)
| (0x00FF000000000000) & (uvalue << 40)
| (0xFF00000000000000) & (uvalue << 56));
return swapped;
}
else
{
return uvalue;
}
}
public static Int16 N2H_Int16(this ArraySegment<Byte> self)
{
if (BitConverter.IsLittleEndian)
{
return (Int16)(self.Get(0) << 8 | self.Get(1));
}
else
{
return BitConverter.ToInt16(self.Array, self.Offset);
}
}
public static Int32 N2H_Int32(this ArraySegment<Byte> self)
{
if (BitConverter.IsLittleEndian)
{
return (Int32)(self.Get(0) << 24 | self.Get(1) << 16 | self.Get(2) << 8 | self.Get(3));
}
else
{
return BitConverter.ToInt32(self.Array, self.Offset);
}
}
public static Int64 N2H_Int64(this ArraySegment<Byte> self)
{
var value = BitConverter.ToUInt64(self.Array, self.Offset);
if (BitConverter.IsLittleEndian)
{
ulong swapped =
((0x00000000000000FF) & (value >> 56)
| (0x000000000000FF00) & (value >> 40)
| (0x0000000000FF0000) & (value >> 24)
| (0x00000000FF000000) & (value >> 8)
| (0x000000FF00000000) & (value << 8)
| (0x0000FF0000000000) & (value << 24)
| (0x00FF000000000000) & (value << 40)
| (0xFF00000000000000) & (value << 56));
return (long)swapped;
}
else
{
return (long)value;
}
}
public static Single N2H_Single(this ArraySegment<Byte> self)
{
if (BitConverter.IsLittleEndian)
{
return BitConverter.ToSingle(self.TakeReversedArray(4), 0);
}
else
{
return BitConverter.ToSingle(self.Array, self.Offset);
}
}
public static Double N2H_Double(this ArraySegment<Byte> self)
{
return BitConverter.Int64BitsToDouble(self.N2H_Int64());
}
public static void N2H_CopyTo(this ArraySegment<Byte> self, Byte[] buffer, int elementSize)
{
if (buffer.Length < self.Count) throw new ArgumentException();
for (int i = 0; i < self.Count; i += elementSize)
{
for (int j = 0; j < elementSize; ++j)
{
buffer[i + j] = self.Get(i + elementSize - 1 - j);
}
}
}
public static void N2H_CopyTo(this ArraySegment<Byte> self, Array result, Byte[] buffer)
{
if (BitConverter.IsLittleEndian)
{
if (buffer.Length < self.Count)
{
throw new ArgumentException();
}
self.N2H_CopyTo(buffer, Marshal.SizeOf(result.GetType().GetElementType()));
Buffer.BlockCopy(buffer, 0, result, 0, self.Count);
}
else
{
Buffer.BlockCopy(self.Array, self.Offset, result, 0, self.Count);
}
}
#endregion
*/
#else
#region Signed
public static Int16 NetworkByteWordToSignedNativeByteOrder(ArraySegment<Byte> bytes)
{
if (BitConverter.IsLittleEndian)
{
// Network to Little
var value = new ByteUnion.WordValue
{
Byte0 = bytes.Get(1),
Byte1 = bytes.Get(0),
};
return value.Signed;
}
else
{
// Network to Big
var value = new ByteUnion.WordValue
{
Byte0 = bytes.Get(0),
Byte1 = bytes.Get(1),
};
return value.Signed;
}
}
public static Int32 NetworkByteDWordToSignedNativeByteOrder(ArraySegment<Byte> bytes)
{
if (BitConverter.IsLittleEndian)
{
// Network to Little
var value = new ByteUnion.DWordValue
{
Byte0 = bytes.Get(3),
Byte1 = bytes.Get(2),
Byte2 = bytes.Get(1),
Byte3 = bytes.Get(0),
};
return value.Signed;
}
else
{
// Network to Big
var value = new ByteUnion.DWordValue
{
Byte0 = bytes.Get(0),
Byte1 = bytes.Get(1),
Byte2 = bytes.Get(2),
Byte3 = bytes.Get(3),
};
return value.Signed;
}
}
public static Int64 NetworkByteQWordToSignedNativeByteOrder(ArraySegment<Byte> bytes)
{
if (BitConverter.IsLittleEndian)
{
// Network to Little
var value = new ByteUnion.QWordValue
{
Byte0 = bytes.Get(7),
Byte1 = bytes.Get(6),
Byte2 = bytes.Get(5),
Byte3 = bytes.Get(4),
Byte4 = bytes.Get(3),
Byte5 = bytes.Get(2),
Byte6 = bytes.Get(1),
Byte7 = bytes.Get(0),
};
return value.Signed;
}
else
{
// Network to Big
var value = new ByteUnion.QWordValue
{
Byte0 = bytes.Get(0),
Byte1 = bytes.Get(1),
Byte2 = bytes.Get(2),
Byte3 = bytes.Get(3),
Byte4 = bytes.Get(4),
Byte5 = bytes.Get(5),
Byte6 = bytes.Get(6),
Byte7 = bytes.Get(7),
};
return value.Signed;
}
}
#endregion
#region Unsigned
public static UInt16 NetworkByteWordToUnsignedNativeByteOrder(ArraySegment<Byte> bytes)
{
if (BitConverter.IsLittleEndian)
{
// Network to Little
var value = new ByteUnion.WordValue
{
Byte0 = bytes.Get(1),
Byte1 = bytes.Get(0),
};
return value.Unsigned;
}
else
{
// Network to Big
var value = new ByteUnion.WordValue
{
Byte0 = bytes.Get(0),
Byte1 = bytes.Get(1),
};
return value.Unsigned;
}
}
public static UInt32 NetworkByteDWordToUnsignedNativeByteOrder(ArraySegment<Byte> bytes)
{
if (BitConverter.IsLittleEndian)
{
// Network to Little
var value = new ByteUnion.DWordValue
{
Byte0 = bytes.Get(3),
Byte1 = bytes.Get(2),
Byte2 = bytes.Get(1),
Byte3 = bytes.Get(0),
};
return value.Unsigned;
}
else
{
// Network to Big
var value = new ByteUnion.DWordValue
{
Byte0 = bytes.Get(0),
Byte1 = bytes.Get(1),
Byte2 = bytes.Get(2),
Byte3 = bytes.Get(3),
};
return value.Unsigned;
}
}
public static UInt64 NetworkByteQWordToUnsignedNativeByteOrder(ArraySegment<Byte> bytes)
{
if (BitConverter.IsLittleEndian)
{
// Network to Little
var value = new ByteUnion.QWordValue
{
Byte0 = bytes.Get(7),
Byte1 = bytes.Get(6),
Byte2 = bytes.Get(5),
Byte3 = bytes.Get(4),
Byte4 = bytes.Get(3),
Byte5 = bytes.Get(2),
Byte6 = bytes.Get(1),
Byte7 = bytes.Get(0),
};
return value.Unsigned;
}
else
{
// Network to Big
var value = new ByteUnion.QWordValue
{
Byte0 = bytes.Get(0),
Byte1 = bytes.Get(1),
Byte2 = bytes.Get(2),
Byte3 = bytes.Get(3),
Byte4 = bytes.Get(4),
Byte5 = bytes.Get(5),
Byte6 = bytes.Get(6),
Byte7 = bytes.Get(7),
};
return value.Unsigned;
}
}
#endregion
#region Floating
public static Single NetworkByteDWordToFloatNativeByteOrder(ArraySegment<Byte> bytes)
{
if (BitConverter.IsLittleEndian)
{
// Network to Little
var value = new ByteUnion.DWordValue
{
Byte0 = bytes.Get(3),
Byte1 = bytes.Get(2),
Byte2 = bytes.Get(1),
Byte3 = bytes.Get(0),
};
return value.Float;
}
else
{
// Network to Big
var value = new ByteUnion.DWordValue
{
Byte0 = bytes.Get(0),
Byte1 = bytes.Get(1),
Byte2 = bytes.Get(2),
Byte3 = bytes.Get(3),
};
return value.Float;
}
}
public static Double NetworkByteQWordToFloatNativeByteOrder(ArraySegment<Byte> bytes)
{
if (BitConverter.IsLittleEndian)
{
// Network to Little
var value = new ByteUnion.QWordValue
{
Byte0 = bytes.Get(7),
Byte1 = bytes.Get(6),
Byte2 = bytes.Get(5),
Byte3 = bytes.Get(4),
Byte4 = bytes.Get(3),
Byte5 = bytes.Get(2),
Byte6 = bytes.Get(1),
Byte7 = bytes.Get(0),
};
return value.Float;
}
else
{
// Network to Big
var value = new ByteUnion.QWordValue
{
Byte0 = bytes.Get(0),
Byte1 = bytes.Get(1),
Byte2 = bytes.Get(2),
Byte3 = bytes.Get(3),
Byte4 = bytes.Get(4),
Byte5 = bytes.Get(5),
Byte6 = bytes.Get(6),
Byte7 = bytes.Get(7),
};
return value.Float;
}
}
#endregion
#endif
public static Int16 ToNetworkByteOrder(this Int16 value)
{
return ByteUnion.WordValue.Create(value).HostToNetworkOrder().Signed;
}
public static UInt16 ToNetworkByteOrder(this UInt16 value)
{
return ByteUnion.WordValue.Create(value).HostToNetworkOrder().Unsigned;
}
public static Int32 ToNetworkByteOrder(this Int32 value)
{
return ByteUnion.DWordValue.Create(value).HostToNetworkOrder().Signed;
}
public static UInt32 ToNetworkByteOrder(this UInt32 value)
{
return ByteUnion.DWordValue.Create(value).HostToNetworkOrder().Unsigned;
}
public static Single ToNetworkByteOrder(this Single value)
{
return ByteUnion.DWordValue.Create(value).HostToNetworkOrder().Float;
}
public static Int64 ToNetworkByteOrder(this Int64 value)
{
return ByteUnion.QWordValue.Create(value).HostToNetworkOrder().Signed;
}
public static UInt64 ToNetworkByteOrder(this UInt64 value)
{
return ByteUnion.QWordValue.Create(value).HostToNetworkOrder().Unsigned;
}
public static Double ToNetworkByteOrder(this Double value)
{
return ByteUnion.QWordValue.Create(value).HostToNetworkOrder().Float;
}
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 2d72520a65b562f4f862ac0760306215
timeCreated: 1540879367
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,13 +0,0 @@
using System;
namespace UniJSON
{
public class MsgPackTypeException : Exception
{
public MsgPackTypeException(string msg) : base(msg)
{ }
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: bc09dae63ba521545a0b9a8ef120b95a
timeCreated: 1540906879
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,609 +0,0 @@
using System;
namespace UniJSON
{
public class MsgPackFormatter : IFormatter
{
IStore m_store;
public MsgPackFormatter(IStore store)
{
m_store = store;
}
public MsgPackFormatter() : this(new BytesStore())
{
}
public void Clear()
{
m_store.Clear();
}
#if false
public bool MsgPack_Ext(IList list)
{
var t = list.GetType();
var et = t.GetElementType();
if (et.IsClass())
{
return false;
}
m_store.Write((Byte)MsgPackType.EXT32);
var itemSize = Marshal.SizeOf(et);
WriteInt32_NBO(list.Count * itemSize);
Action<Object> pack;
if (et == typeof(UInt16))
{
m_store.Write((Byte)ExtType.UINT16_BE);
pack = o => WriteUInt16_NBO((UInt16)o);
}
else if (et == typeof(UInt32))
{
m_store.Write((Byte)ExtType.UINT32_BE);
pack = o => WriteUInt32_NBO((UInt32)o);
}
else if (et == typeof(UInt64))
{
m_store.Write((Byte)ExtType.UINT64_BE);
pack = o => WriteUInt64_NBO((UInt64)o);
}
else if (et == typeof(Int16))
{
m_store.Write((Byte)ExtType.INT16_BE);
pack = o => WriteInt16_NBO((Int16)o);
}
else if (et == typeof(Int32))
{
m_store.Write((Byte)ExtType.INT32_BE);
pack = o => WriteInt32_NBO((Int32)o);
}
else if (et == typeof(Int64))
{
m_store.Write((Byte)ExtType.INT64_BE);
pack = o => WriteInt64_NBO((Int64)o);
}
else if (et == typeof(Single))
{
m_store.Write((Byte)ExtType.SINGLE_BE);
pack = o => WriteSingle_NBO((Single)o);
}
else if (et == typeof(Double))
{
m_store.Write((Byte)ExtType.DOUBLE_BE);
pack = o => WriteDouble_NBO((Double)o);
}
else
{
return false;
}
foreach (var i in list)
{
pack(i);
}
return true;
}
#endif
public void BeginList(int n)
{
if (n < 0x0F)
{
m_store.Write((Byte)((Byte)MsgPackType.FIX_ARRAY | n));
}
else if (n < 0xFFFF)
{
m_store.Write((Byte)MsgPackType.ARRAY16);
m_store.WriteBigEndian((UInt16)n);
}
else
{
m_store.Write((Byte)MsgPackType.ARRAY32);
m_store.WriteBigEndian(n);
}
}
public void EndList()
{
}
public void BeginMap(int n)
{
if (n < 0x0F)
{
m_store.Write((Byte)((Byte)MsgPackType.FIX_MAP | n));
}
else if (n < 0xFFFF)
{
m_store.Write((Byte)MsgPackType.MAP16);
m_store.WriteBigEndian((UInt16)n);
}
else
{
m_store.Write((Byte)MsgPackType.MAP32);
m_store.WriteBigEndian(n.ToNetworkByteOrder());
}
}
public void EndMap()
{
}
public void Null()
{
m_store.Write((Byte)MsgPackType.NIL);
}
public void Key(Utf8String key)
{
Value(key);
}
public void Value(String s)
{
Value(Utf8String.From(s));
}
public void Value(Utf8String s)
{
var bytes = s.Bytes;
int size = bytes.Count;
if (size < 32)
{
m_store.Write((Byte)((Byte)MsgPackType.FIX_STR | size));
m_store.Write(bytes);
}
else if (size < 0xFF)
{
m_store.Write((Byte)(MsgPackType.STR8));
m_store.Write((Byte)(size));
m_store.Write(bytes);
}
else if (size < 0xFFFF)
{
m_store.Write((Byte)MsgPackType.STR16);
m_store.WriteBigEndian((UInt16)size);
m_store.Write(bytes);
}
else
{
m_store.Write((Byte)MsgPackType.STR32);
m_store.WriteBigEndian(size);
m_store.Write(bytes);
}
}
public void Value(bool value)
{
if (value)
{
m_store.Write((Byte)MsgPackType.TRUE);
}
else
{
m_store.Write((Byte)MsgPackType.FALSE);
}
}
#region Singed
public void Value(sbyte n)
{
if (n >= 0)
{
// positive
Value((Byte)n);
}
else if (n >= -32)
{
var value = (MsgPackType)((n + 32) + (Byte)MsgPackType.NEGATIVE_FIXNUM);
m_store.Write((Byte)value);
}
else
{
m_store.Write((Byte)MsgPackType.INT8);
m_store.Write((Byte)n);
}
}
public void Value(short n)
{
if (n >= 0)
{
// positive
if (n <= 0xFF)
{
Value((Byte)n);
}
else
{
Value((UInt16)n);
}
}
else
{
// negative
if (n >= -128)
{
m_store.Write((SByte)n);
}
else
{
m_store.Write((Byte)MsgPackType.INT16);
m_store.WriteBigEndian(n);
}
}
}
public void Value(int n)
{
if (n >= 0)
{
// positive
if (n <= 0xFF)
{
Value((Byte)n);
}
else if (n <= 0xFFFF)
{
Value((UInt16)n);
}
else
{
Value((UInt32)n);
}
}
else
{
// negative
if (n >= -128)
{
Value((SByte)n);
}
else if (n >= -32768)
{
Value((Int16)n);
}
else
{
m_store.Write((Byte)MsgPackType.INT32);
m_store.WriteBigEndian(n);
}
}
}
public void Value(long n)
{
if (n >= 0)
{
// positive
if (n <= 0xFF)
{
Value((Byte)n);
}
else if (n <= 0xFFFF)
{
Value((UInt16)n);
}
else if (n <= 0xFFFFFFFF)
{
Value((UInt32)n);
}
else
{
Value((UInt64)n);
}
}
else
{
// negative
if (n >= -128)
{
Value((SByte)n);
}
else if (n >= -32768)
{
Value((Int16)n);
}
else if (n >= -2147483648)
{
Value((Int32)n);
}
else
{
m_store.Write((Byte)MsgPackType.INT64);
m_store.WriteBigEndian(n);
}
}
}
#endregion
#region Unsigned
public void Value(byte n)
{
if (n <= 0x7F)
{
// FormatType.POSITIVE_FIXNUM
m_store.Write(n);
}
else
{
m_store.Write((Byte)MsgPackType.UINT8);
m_store.Write(n);
}
}
public void Value(ushort n)
{
if (n <= 0xFF)
{
Value((Byte)n);
}
else
{
m_store.Write((Byte)MsgPackType.UINT16);
m_store.WriteBigEndian(n);
}
}
public void Value(uint n)
{
if (n <= 0xFF)
{
Value((Byte)n);
}
else if (n <= 0xFFFF)
{
Value((UInt16)n);
}
else
{
m_store.Write((Byte)MsgPackType.UINT32);
m_store.WriteBigEndian(n);
}
}
public void Value(ulong n)
{
if (n <= 0xFF)
{
Value((Byte)n);
}
else if (n <= 0xFFFF)
{
Value((UInt16)n);
}
else if (n <= 0xFFFFFFFF)
{
Value((UInt32)n);
}
else
{
m_store.Write((Byte)MsgPackType.UINT64);
m_store.WriteBigEndian(n);
}
}
#endregion
public void Value(float value)
{
m_store.Write((Byte)MsgPackType.FLOAT);
m_store.WriteBigEndian(value);
}
public void Value(double value)
{
m_store.Write((Byte)MsgPackType.DOUBLE);
m_store.WriteBigEndian(value);
}
public void Value(ArraySegment<byte> bytes)
{
if (bytes.Count < 0xFF)
{
m_store.Write((Byte)(MsgPackType.BIN8));
m_store.Write((Byte)(bytes.Count));
m_store.Write(bytes);
}
else if (bytes.Count < 0xFFFF)
{
m_store.Write((Byte)MsgPackType.BIN16);
m_store.WriteBigEndian((UInt16)bytes.Count);
m_store.Write(bytes);
}
else
{
m_store.Write((Byte)MsgPackType.BIN32);
m_store.WriteBigEndian(bytes.Count);
m_store.Write(bytes);
}
}
public void TimeStamp32(DateTimeOffset time)
{
// https://github.com/ousttrue/UniJSON/blob/1.2/Scripts/Extensions/DateTimeOffsetExtensions.cs#L13-L16
if (time < DateTimeOffsetExtensions.EpochTime)
{
throw new ArgumentOutOfRangeException();
}
m_store.Write((Byte)MsgPackType.FIX_EXT_4);
m_store.Write((SByte)(-1));
m_store.WriteBigEndian((uint)time.ToUnixTimeSeconds());
}
public void Value(DateTimeOffset time)
{
TimeStamp32(time);
}
public void Value(ListTreeNode<MsgPackValue> node)
{
m_store.Write(node.Value.Bytes);
}
public IStore GetStore()
{
return m_store;
}
#region IRpc
public const int REQUEST_TYPE = 0;
public const int RESPONSE_TYPE = 1;
public const int NOTIFY_TYPE = 2;
int m_msgId = 1;
public void Request(Utf8String method)
{
BeginList(4);
Value(REQUEST_TYPE);
Value(m_msgId++);
Value(method);
BeginList(0); // params
{
}
EndList();
EndList();
}
public void Request<A0>(Utf8String method, A0 a0)
{
BeginList(4);
Value(REQUEST_TYPE);
Value(m_msgId++);
Value(method);
BeginList(1); // params
{
this.Serialize(a0);
}
EndList();
EndList();
}
public void Request<A0, A1>(Utf8String method, A0 a0, A1 a1)
{
BeginList(4);
Value(REQUEST_TYPE);
Value(m_msgId++);
Value(method);
BeginList(2); // params
{
this.Serialize(a0);
this.Serialize(a1);
}
EndList();
EndList();
}
public void Request<A0, A1, A2>(Utf8String method, A0 a0, A1 a1, A2 a2)
{
throw new NotImplementedException();
}
public void Request<A0, A1, A2, A3>(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3)
{
throw new NotImplementedException();
}
public void Request<A0, A1, A2, A3, A4>(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
{
throw new NotImplementedException();
}
public void Request<A0, A1, A2, A3, A4, A5>(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
{
throw new NotImplementedException();
}
public void ResponseSuccess(int id)
{
BeginList(4);
Value(RESPONSE_TYPE);
Value(id);
Null();
Null();
EndList();
}
public void ResponseSuccess<T>(int id, T result)
{
BeginList(4);
Value(RESPONSE_TYPE);
Value(id);
Null();
this.Serialize(result);
EndList();
}
public void ResponseError(int id, Exception error)
{
BeginList(4);
Value(RESPONSE_TYPE);
Value(id);
this.Serialize(error);
Null();
EndList();
}
public void Notify(Utf8String method)
{
BeginList(3);
Value(NOTIFY_TYPE);
Value(method);
BeginList(0); // params
{
}
EndList();
EndList();
}
public void Notify<A0>(Utf8String method, A0 a0)
{
BeginList(3);
Value(NOTIFY_TYPE);
Value(method);
BeginList(1); // params
{
this.Serialize(a0);
}
EndList();
EndList();
}
public void Notify<A0, A1>(Utf8String method, A0 a0, A1 a1)
{
BeginList(3);
Value(NOTIFY_TYPE);
Value(method);
BeginList(2); // params
{
this.Serialize(a0);
this.Serialize(a1);
}
EndList();
EndList();
}
public void Notify<A0, A1, A2>(Utf8String method, A0 a0, A1 a1, A2 a2)
{
throw new NotImplementedException();
}
public void Notify<A0, A1, A2, A3>(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3)
{
throw new NotImplementedException();
}
public void Notify<A0, A1, A2, A3, A4>(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4)
{
throw new NotImplementedException();
}
public void Notify<A0, A1, A2, A3, A4, A5>(Utf8String method, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
{
throw new NotImplementedException();
}
#endregion
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 41153eff97391fd46a31361bac5804fb
timeCreated: 1540879112
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,416 +0,0 @@
using System;
using System.Collections.Generic;
namespace UniJSON
{
public static class MsgPackParser
{
public static ListTreeNode<MsgPackValue> Parse(Byte[] bytes)
{
return Parse(new ArraySegment<byte>(bytes));
}
static MsgPackType GetFormat(ArraySegment<Byte> bytes)
{
return (MsgPackType)bytes.Get(0);
}
/// <summary>
/// Array又はMapの子要素の数を得る
/// </summary>
/// <param name="count"></param>
/// <returns></returns>
static ArraySegment<Byte> GetItemCount(ArraySegment<Byte> bytes, MsgPackType formatType, out UInt32 count)
{
switch (formatType)
{
case MsgPackType.FIX_ARRAY: count = 0; return bytes.Advance(1);
case MsgPackType.FIX_ARRAY_0x1: count = 1; return bytes.Advance(1);
case MsgPackType.FIX_ARRAY_0x2: count = 2; return bytes.Advance(1);
case MsgPackType.FIX_ARRAY_0x3: count = 3; return bytes.Advance(1);
case MsgPackType.FIX_ARRAY_0x4: count = 4; return bytes.Advance(1);
case MsgPackType.FIX_ARRAY_0x5: count = 5; return bytes.Advance(1);
case MsgPackType.FIX_ARRAY_0x6: count = 6; return bytes.Advance(1);
case MsgPackType.FIX_ARRAY_0x7: count = 7; return bytes.Advance(1);
case MsgPackType.FIX_ARRAY_0x8: count = 8; return bytes.Advance(1);
case MsgPackType.FIX_ARRAY_0x9: count = 9; return bytes.Advance(1);
case MsgPackType.FIX_ARRAY_0xA: count = 10; return bytes.Advance(1);
case MsgPackType.FIX_ARRAY_0xB: count = 11; return bytes.Advance(1);
case MsgPackType.FIX_ARRAY_0xC: count = 12; return bytes.Advance(1);
case MsgPackType.FIX_ARRAY_0xD: count = 13; return bytes.Advance(1);
case MsgPackType.FIX_ARRAY_0xE: count = 14; return bytes.Advance(1);
case MsgPackType.FIX_ARRAY_0xF: count = 15; return bytes.Advance(1);
case MsgPackType.FIX_MAP: count = 0; return bytes.Advance(1);
case MsgPackType.FIX_MAP_0x1: count = 1; return bytes.Advance(1);
case MsgPackType.FIX_MAP_0x2: count = 2; return bytes.Advance(1);
case MsgPackType.FIX_MAP_0x3: count = 3; return bytes.Advance(1);
case MsgPackType.FIX_MAP_0x4: count = 4; return bytes.Advance(1);
case MsgPackType.FIX_MAP_0x5: count = 5; return bytes.Advance(1);
case MsgPackType.FIX_MAP_0x6: count = 6; return bytes.Advance(1);
case MsgPackType.FIX_MAP_0x7: count = 7; return bytes.Advance(1);
case MsgPackType.FIX_MAP_0x8: count = 8; return bytes.Advance(1);
case MsgPackType.FIX_MAP_0x9: count = 9; return bytes.Advance(1);
case MsgPackType.FIX_MAP_0xA: count = 10; return bytes.Advance(1);
case MsgPackType.FIX_MAP_0xB: count = 11; return bytes.Advance(1);
case MsgPackType.FIX_MAP_0xC: count = 12; return bytes.Advance(1);
case MsgPackType.FIX_MAP_0xD: count = 13; return bytes.Advance(1);
case MsgPackType.FIX_MAP_0xE: count = 14; return bytes.Advance(1);
case MsgPackType.FIX_MAP_0xF: count = 15; return bytes.Advance(1);
case MsgPackType.ARRAY16:
case MsgPackType.MAP16:
count = EndianConverter.NetworkByteWordToUnsignedNativeByteOrder(bytes.Advance(1));
return bytes.Advance(1 + 2);
case MsgPackType.ARRAY32:
case MsgPackType.MAP32:
count = EndianConverter.NetworkByteDWordToUnsignedNativeByteOrder(bytes.Advance(1));
return bytes.Advance(1 + 4);
default:
throw new ArgumentException("is not collection: " + formatType);
}
}
/// <summary>
/// ArrayとMap以外のタイプのペイロードを得る
/// </summary>
/// <returns></returns>
static ArraySegment<Byte> GetBody(ArraySegment<Byte> bytes, MsgPackType formatType)
{
switch (formatType)
{
case MsgPackType.FIX_STR: return bytes.Advance(1).Take(0);
case MsgPackType.FIX_STR_0x01: return bytes.Advance(1).Take(1);
case MsgPackType.FIX_STR_0x02: return bytes.Advance(1).Take(2);
case MsgPackType.FIX_STR_0x03: return bytes.Advance(1).Take(3);
case MsgPackType.FIX_STR_0x04: return bytes.Advance(1).Take(4);
case MsgPackType.FIX_STR_0x05: return bytes.Advance(1).Take(5);
case MsgPackType.FIX_STR_0x06: return bytes.Advance(1).Take(6);
case MsgPackType.FIX_STR_0x07: return bytes.Advance(1).Take(7);
case MsgPackType.FIX_STR_0x08: return bytes.Advance(1).Take(8);
case MsgPackType.FIX_STR_0x09: return bytes.Advance(1).Take(9);
case MsgPackType.FIX_STR_0x0A: return bytes.Advance(1).Take(10);
case MsgPackType.FIX_STR_0x0B: return bytes.Advance(1).Take(11);
case MsgPackType.FIX_STR_0x0C: return bytes.Advance(1).Take(12);
case MsgPackType.FIX_STR_0x0D: return bytes.Advance(1).Take(13);
case MsgPackType.FIX_STR_0x0E: return bytes.Advance(1).Take(14);
case MsgPackType.FIX_STR_0x0F: return bytes.Advance(1).Take(15);
case MsgPackType.FIX_STR_0x10: return bytes.Advance(1).Take(16);
case MsgPackType.FIX_STR_0x11: return bytes.Advance(1).Take(17);
case MsgPackType.FIX_STR_0x12: return bytes.Advance(1).Take(18);
case MsgPackType.FIX_STR_0x13: return bytes.Advance(1).Take(19);
case MsgPackType.FIX_STR_0x14: return bytes.Advance(1).Take(20);
case MsgPackType.FIX_STR_0x15: return bytes.Advance(1).Take(21);
case MsgPackType.FIX_STR_0x16: return bytes.Advance(1).Take(22);
case MsgPackType.FIX_STR_0x17: return bytes.Advance(1).Take(23);
case MsgPackType.FIX_STR_0x18: return bytes.Advance(1).Take(24);
case MsgPackType.FIX_STR_0x19: return bytes.Advance(1).Take(25);
case MsgPackType.FIX_STR_0x1A: return bytes.Advance(1).Take(26);
case MsgPackType.FIX_STR_0x1B: return bytes.Advance(1).Take(27);
case MsgPackType.FIX_STR_0x1C: return bytes.Advance(1).Take(28);
case MsgPackType.FIX_STR_0x1D: return bytes.Advance(1).Take(29);
case MsgPackType.FIX_STR_0x1E: return bytes.Advance(1).Take(30);
case MsgPackType.FIX_STR_0x1F: return bytes.Advance(1).Take(31);
case MsgPackType.STR8:
case MsgPackType.BIN8:
{
var count = bytes.Get(1);
return bytes.Advance(1 + 1).Take(count);
}
case MsgPackType.STR16:
case MsgPackType.BIN16:
{
var count = EndianConverter.NetworkByteWordToUnsignedNativeByteOrder(bytes.Advance(1));
return bytes.Advance(1 + 2).Take(count);
}
case MsgPackType.STR32:
case MsgPackType.BIN32:
{
var count = EndianConverter.NetworkByteDWordToUnsignedNativeByteOrder(bytes.Advance(1));
return bytes.Advance(1 + 4).Take((int)count);
}
case MsgPackType.NIL:
case MsgPackType.TRUE:
case MsgPackType.FALSE:
case MsgPackType.POSITIVE_FIXNUM:
case MsgPackType.POSITIVE_FIXNUM_0x01:
case MsgPackType.POSITIVE_FIXNUM_0x02:
case MsgPackType.POSITIVE_FIXNUM_0x03:
case MsgPackType.POSITIVE_FIXNUM_0x04:
case MsgPackType.POSITIVE_FIXNUM_0x05:
case MsgPackType.POSITIVE_FIXNUM_0x06:
case MsgPackType.POSITIVE_FIXNUM_0x07:
case MsgPackType.POSITIVE_FIXNUM_0x08:
case MsgPackType.POSITIVE_FIXNUM_0x09:
case MsgPackType.POSITIVE_FIXNUM_0x0A:
case MsgPackType.POSITIVE_FIXNUM_0x0B:
case MsgPackType.POSITIVE_FIXNUM_0x0C:
case MsgPackType.POSITIVE_FIXNUM_0x0D:
case MsgPackType.POSITIVE_FIXNUM_0x0E:
case MsgPackType.POSITIVE_FIXNUM_0x0F:
case MsgPackType.POSITIVE_FIXNUM_0x10:
case MsgPackType.POSITIVE_FIXNUM_0x11:
case MsgPackType.POSITIVE_FIXNUM_0x12:
case MsgPackType.POSITIVE_FIXNUM_0x13:
case MsgPackType.POSITIVE_FIXNUM_0x14:
case MsgPackType.POSITIVE_FIXNUM_0x15:
case MsgPackType.POSITIVE_FIXNUM_0x16:
case MsgPackType.POSITIVE_FIXNUM_0x17:
case MsgPackType.POSITIVE_FIXNUM_0x18:
case MsgPackType.POSITIVE_FIXNUM_0x19:
case MsgPackType.POSITIVE_FIXNUM_0x1A:
case MsgPackType.POSITIVE_FIXNUM_0x1B:
case MsgPackType.POSITIVE_FIXNUM_0x1C:
case MsgPackType.POSITIVE_FIXNUM_0x1D:
case MsgPackType.POSITIVE_FIXNUM_0x1E:
case MsgPackType.POSITIVE_FIXNUM_0x1F:
case MsgPackType.POSITIVE_FIXNUM_0x20:
case MsgPackType.POSITIVE_FIXNUM_0x21:
case MsgPackType.POSITIVE_FIXNUM_0x22:
case MsgPackType.POSITIVE_FIXNUM_0x23:
case MsgPackType.POSITIVE_FIXNUM_0x24:
case MsgPackType.POSITIVE_FIXNUM_0x25:
case MsgPackType.POSITIVE_FIXNUM_0x26:
case MsgPackType.POSITIVE_FIXNUM_0x27:
case MsgPackType.POSITIVE_FIXNUM_0x28:
case MsgPackType.POSITIVE_FIXNUM_0x29:
case MsgPackType.POSITIVE_FIXNUM_0x2A:
case MsgPackType.POSITIVE_FIXNUM_0x2B:
case MsgPackType.POSITIVE_FIXNUM_0x2C:
case MsgPackType.POSITIVE_FIXNUM_0x2D:
case MsgPackType.POSITIVE_FIXNUM_0x2E:
case MsgPackType.POSITIVE_FIXNUM_0x2F:
case MsgPackType.POSITIVE_FIXNUM_0x30:
case MsgPackType.POSITIVE_FIXNUM_0x31:
case MsgPackType.POSITIVE_FIXNUM_0x32:
case MsgPackType.POSITIVE_FIXNUM_0x33:
case MsgPackType.POSITIVE_FIXNUM_0x34:
case MsgPackType.POSITIVE_FIXNUM_0x35:
case MsgPackType.POSITIVE_FIXNUM_0x36:
case MsgPackType.POSITIVE_FIXNUM_0x37:
case MsgPackType.POSITIVE_FIXNUM_0x38:
case MsgPackType.POSITIVE_FIXNUM_0x39:
case MsgPackType.POSITIVE_FIXNUM_0x3A:
case MsgPackType.POSITIVE_FIXNUM_0x3B:
case MsgPackType.POSITIVE_FIXNUM_0x3C:
case MsgPackType.POSITIVE_FIXNUM_0x3D:
case MsgPackType.POSITIVE_FIXNUM_0x3E:
case MsgPackType.POSITIVE_FIXNUM_0x3F:
case MsgPackType.POSITIVE_FIXNUM_0x40:
case MsgPackType.POSITIVE_FIXNUM_0x41:
case MsgPackType.POSITIVE_FIXNUM_0x42:
case MsgPackType.POSITIVE_FIXNUM_0x43:
case MsgPackType.POSITIVE_FIXNUM_0x44:
case MsgPackType.POSITIVE_FIXNUM_0x45:
case MsgPackType.POSITIVE_FIXNUM_0x46:
case MsgPackType.POSITIVE_FIXNUM_0x47:
case MsgPackType.POSITIVE_FIXNUM_0x48:
case MsgPackType.POSITIVE_FIXNUM_0x49:
case MsgPackType.POSITIVE_FIXNUM_0x4A:
case MsgPackType.POSITIVE_FIXNUM_0x4B:
case MsgPackType.POSITIVE_FIXNUM_0x4C:
case MsgPackType.POSITIVE_FIXNUM_0x4D:
case MsgPackType.POSITIVE_FIXNUM_0x4E:
case MsgPackType.POSITIVE_FIXNUM_0x4F:
case MsgPackType.POSITIVE_FIXNUM_0x50:
case MsgPackType.POSITIVE_FIXNUM_0x51:
case MsgPackType.POSITIVE_FIXNUM_0x52:
case MsgPackType.POSITIVE_FIXNUM_0x53:
case MsgPackType.POSITIVE_FIXNUM_0x54:
case MsgPackType.POSITIVE_FIXNUM_0x55:
case MsgPackType.POSITIVE_FIXNUM_0x56:
case MsgPackType.POSITIVE_FIXNUM_0x57:
case MsgPackType.POSITIVE_FIXNUM_0x58:
case MsgPackType.POSITIVE_FIXNUM_0x59:
case MsgPackType.POSITIVE_FIXNUM_0x5A:
case MsgPackType.POSITIVE_FIXNUM_0x5B:
case MsgPackType.POSITIVE_FIXNUM_0x5C:
case MsgPackType.POSITIVE_FIXNUM_0x5D:
case MsgPackType.POSITIVE_FIXNUM_0x5E:
case MsgPackType.POSITIVE_FIXNUM_0x5F:
case MsgPackType.POSITIVE_FIXNUM_0x60:
case MsgPackType.POSITIVE_FIXNUM_0x61:
case MsgPackType.POSITIVE_FIXNUM_0x62:
case MsgPackType.POSITIVE_FIXNUM_0x63:
case MsgPackType.POSITIVE_FIXNUM_0x64:
case MsgPackType.POSITIVE_FIXNUM_0x65:
case MsgPackType.POSITIVE_FIXNUM_0x66:
case MsgPackType.POSITIVE_FIXNUM_0x67:
case MsgPackType.POSITIVE_FIXNUM_0x68:
case MsgPackType.POSITIVE_FIXNUM_0x69:
case MsgPackType.POSITIVE_FIXNUM_0x6A:
case MsgPackType.POSITIVE_FIXNUM_0x6B:
case MsgPackType.POSITIVE_FIXNUM_0x6C:
case MsgPackType.POSITIVE_FIXNUM_0x6D:
case MsgPackType.POSITIVE_FIXNUM_0x6E:
case MsgPackType.POSITIVE_FIXNUM_0x6F:
case MsgPackType.POSITIVE_FIXNUM_0x70:
case MsgPackType.POSITIVE_FIXNUM_0x71:
case MsgPackType.POSITIVE_FIXNUM_0x72:
case MsgPackType.POSITIVE_FIXNUM_0x73:
case MsgPackType.POSITIVE_FIXNUM_0x74:
case MsgPackType.POSITIVE_FIXNUM_0x75:
case MsgPackType.POSITIVE_FIXNUM_0x76:
case MsgPackType.POSITIVE_FIXNUM_0x77:
case MsgPackType.POSITIVE_FIXNUM_0x78:
case MsgPackType.POSITIVE_FIXNUM_0x79:
case MsgPackType.POSITIVE_FIXNUM_0x7A:
case MsgPackType.POSITIVE_FIXNUM_0x7B:
case MsgPackType.POSITIVE_FIXNUM_0x7C:
case MsgPackType.POSITIVE_FIXNUM_0x7D:
case MsgPackType.POSITIVE_FIXNUM_0x7E:
case MsgPackType.POSITIVE_FIXNUM_0x7F:
case MsgPackType.NEGATIVE_FIXNUM:
case MsgPackType.NEGATIVE_FIXNUM_0x01:
case MsgPackType.NEGATIVE_FIXNUM_0x02:
case MsgPackType.NEGATIVE_FIXNUM_0x03:
case MsgPackType.NEGATIVE_FIXNUM_0x04:
case MsgPackType.NEGATIVE_FIXNUM_0x05:
case MsgPackType.NEGATIVE_FIXNUM_0x06:
case MsgPackType.NEGATIVE_FIXNUM_0x07:
case MsgPackType.NEGATIVE_FIXNUM_0x08:
case MsgPackType.NEGATIVE_FIXNUM_0x09:
case MsgPackType.NEGATIVE_FIXNUM_0x0A:
case MsgPackType.NEGATIVE_FIXNUM_0x0B:
case MsgPackType.NEGATIVE_FIXNUM_0x0C:
case MsgPackType.NEGATIVE_FIXNUM_0x0D:
case MsgPackType.NEGATIVE_FIXNUM_0x0E:
case MsgPackType.NEGATIVE_FIXNUM_0x0F:
case MsgPackType.NEGATIVE_FIXNUM_0x10:
case MsgPackType.NEGATIVE_FIXNUM_0x11:
case MsgPackType.NEGATIVE_FIXNUM_0x12:
case MsgPackType.NEGATIVE_FIXNUM_0x13:
case MsgPackType.NEGATIVE_FIXNUM_0x14:
case MsgPackType.NEGATIVE_FIXNUM_0x15:
case MsgPackType.NEGATIVE_FIXNUM_0x16:
case MsgPackType.NEGATIVE_FIXNUM_0x17:
case MsgPackType.NEGATIVE_FIXNUM_0x18:
case MsgPackType.NEGATIVE_FIXNUM_0x19:
case MsgPackType.NEGATIVE_FIXNUM_0x1A:
case MsgPackType.NEGATIVE_FIXNUM_0x1B:
case MsgPackType.NEGATIVE_FIXNUM_0x1C:
case MsgPackType.NEGATIVE_FIXNUM_0x1D:
case MsgPackType.NEGATIVE_FIXNUM_0x1E:
case MsgPackType.NEGATIVE_FIXNUM_0x1F:
return bytes.Advance(1).Take(0);
case MsgPackType.UINT8:
case MsgPackType.INT8:
return bytes.Advance(1).Take(1);
case MsgPackType.UINT16:
case MsgPackType.INT16:
return bytes.Advance(1).Take(2);
case MsgPackType.UINT32:
case MsgPackType.INT32:
case MsgPackType.FLOAT:
return bytes.Advance(1).Take(4);
case MsgPackType.UINT64:
case MsgPackType.INT64:
case MsgPackType.DOUBLE:
return bytes.Advance(1).Take(8);
case MsgPackType.FIX_EXT_1:
return bytes.Advance(2).Take(1);
case MsgPackType.FIX_EXT_2:
return bytes.Advance(2).Take(2);
case MsgPackType.FIX_EXT_4:
return bytes.Advance(2).Take(4);
case MsgPackType.FIX_EXT_8:
return bytes.Advance(2).Take(8);
case MsgPackType.FIX_EXT_16:
return bytes.Advance(2).Take(16);
case MsgPackType.EXT8:
{
var count = bytes.Get(1);
return bytes.Advance(1 + 1 + 1).Take(count);
}
case MsgPackType.EXT16:
{
var count = EndianConverter.NetworkByteWordToUnsignedNativeByteOrder(bytes.Advance(1));
return bytes.Advance(1 + 2 + 1).Take(count);
}
case MsgPackType.EXT32:
{
var count = EndianConverter.NetworkByteDWordToUnsignedNativeByteOrder(bytes.Advance(1));
return bytes.Advance(1 + 4 + 1).Take((int)count);
}
default:
throw new ArgumentException("unknown type: " + formatType);
}
}
static ListTreeNode<MsgPackValue> _Parse(ListTreeNode<MsgPackValue> tree, ArraySegment<Byte> bytes)
{
MsgPackType formatType = GetFormat(bytes);
if (formatType.IsArray())
{
var array = tree.AddValue(bytes, ValueNodeType.Array);
uint count;
bytes = GetItemCount(bytes, formatType, out count);
for (var i = 0; i < count; ++i)
{
var child = _Parse(array, bytes);
bytes = bytes.Advance(child.Value.Bytes.Count);
}
array.SetValueBytesCount(bytes.Offset - array.Value.Bytes.Offset);
return array;
}
else if (formatType.IsMap())
{
var obj = tree.AddValue(bytes, ValueNodeType.Object);
uint count;
bytes = GetItemCount(bytes, formatType, out count);
for (var i = 0; i < count; ++i)
{
// key
var key = _Parse(obj, bytes);
bytes = bytes.Advance(key.Value.Bytes.Count);
// value
var value = _Parse(obj, bytes);
bytes = bytes.Advance(value.Value.Bytes.Count);
}
obj.SetValueBytesCount(bytes.Offset - obj.Value.Bytes.Offset);
return obj;
}
else
{
var body = GetBody(bytes, formatType);
var headerSize = body.Offset - bytes.Offset;
var size = headerSize + body.Count;
var value = tree.AddValue(bytes.Take(size), ValueNodeType.Null);
return value;
}
}
public static ListTreeNode<MsgPackValue> Parse(ArraySegment<Byte> bytes)
{
return _Parse(default(ListTreeNode<MsgPackValue>), bytes);
}
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 96621564d26fc294291143738c163a3d
timeCreated: 1540815282
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,313 +0,0 @@
namespace UniJSON
{
public enum MsgPackType : byte
{
#region POSITIVE_FIXNUM 0x00-0x7F
POSITIVE_FIXNUM = 0x00,
POSITIVE_FIXNUM_0x01 = 0x01,
POSITIVE_FIXNUM_0x02 = 0x02,
POSITIVE_FIXNUM_0x03 = 0x03,
POSITIVE_FIXNUM_0x04 = 0x04,
POSITIVE_FIXNUM_0x05 = 0x05,
POSITIVE_FIXNUM_0x06 = 0x06,
POSITIVE_FIXNUM_0x07 = 0x07,
POSITIVE_FIXNUM_0x08 = 0x08,
POSITIVE_FIXNUM_0x09 = 0x09,
POSITIVE_FIXNUM_0x0A = 0x0A,
POSITIVE_FIXNUM_0x0B = 0x0B,
POSITIVE_FIXNUM_0x0C = 0x0C,
POSITIVE_FIXNUM_0x0D = 0x0D,
POSITIVE_FIXNUM_0x0E = 0x0E,
POSITIVE_FIXNUM_0x0F = 0x0F,
POSITIVE_FIXNUM_0x10 = 0x10,
POSITIVE_FIXNUM_0x11 = 0x11,
POSITIVE_FIXNUM_0x12 = 0x12,
POSITIVE_FIXNUM_0x13 = 0x13,
POSITIVE_FIXNUM_0x14 = 0x14,
POSITIVE_FIXNUM_0x15 = 0x15,
POSITIVE_FIXNUM_0x16 = 0x16,
POSITIVE_FIXNUM_0x17 = 0x17,
POSITIVE_FIXNUM_0x18 = 0x18,
POSITIVE_FIXNUM_0x19 = 0x19,
POSITIVE_FIXNUM_0x1A = 0x1A,
POSITIVE_FIXNUM_0x1B = 0x1B,
POSITIVE_FIXNUM_0x1C = 0x1C,
POSITIVE_FIXNUM_0x1D = 0x1D,
POSITIVE_FIXNUM_0x1E = 0x1E,
POSITIVE_FIXNUM_0x1F = 0x1F,
POSITIVE_FIXNUM_0x20 = 0x20,
POSITIVE_FIXNUM_0x21 = 0x21,
POSITIVE_FIXNUM_0x22 = 0x22,
POSITIVE_FIXNUM_0x23 = 0x23,
POSITIVE_FIXNUM_0x24 = 0x24,
POSITIVE_FIXNUM_0x25 = 0x25,
POSITIVE_FIXNUM_0x26 = 0x26,
POSITIVE_FIXNUM_0x27 = 0x27,
POSITIVE_FIXNUM_0x28 = 0x28,
POSITIVE_FIXNUM_0x29 = 0x29,
POSITIVE_FIXNUM_0x2A = 0x2A,
POSITIVE_FIXNUM_0x2B = 0x2B,
POSITIVE_FIXNUM_0x2C = 0x2C,
POSITIVE_FIXNUM_0x2D = 0x2D,
POSITIVE_FIXNUM_0x2E = 0x2E,
POSITIVE_FIXNUM_0x2F = 0x2F,
POSITIVE_FIXNUM_0x30 = 0x30,
POSITIVE_FIXNUM_0x31 = 0x31,
POSITIVE_FIXNUM_0x32 = 0x32,
POSITIVE_FIXNUM_0x33 = 0x33,
POSITIVE_FIXNUM_0x34 = 0x34,
POSITIVE_FIXNUM_0x35 = 0x35,
POSITIVE_FIXNUM_0x36 = 0x36,
POSITIVE_FIXNUM_0x37 = 0x37,
POSITIVE_FIXNUM_0x38 = 0x38,
POSITIVE_FIXNUM_0x39 = 0x39,
POSITIVE_FIXNUM_0x3A = 0x3A,
POSITIVE_FIXNUM_0x3B = 0x3B,
POSITIVE_FIXNUM_0x3C = 0x3C,
POSITIVE_FIXNUM_0x3D = 0x3D,
POSITIVE_FIXNUM_0x3E = 0x3E,
POSITIVE_FIXNUM_0x3F = 0x3F,
POSITIVE_FIXNUM_0x40 = 0x40,
POSITIVE_FIXNUM_0x41 = 0x41,
POSITIVE_FIXNUM_0x42 = 0x42,
POSITIVE_FIXNUM_0x43 = 0x43,
POSITIVE_FIXNUM_0x44 = 0x44,
POSITIVE_FIXNUM_0x45 = 0x45,
POSITIVE_FIXNUM_0x46 = 0x46,
POSITIVE_FIXNUM_0x47 = 0x47,
POSITIVE_FIXNUM_0x48 = 0x48,
POSITIVE_FIXNUM_0x49 = 0x49,
POSITIVE_FIXNUM_0x4A = 0x4A,
POSITIVE_FIXNUM_0x4B = 0x4B,
POSITIVE_FIXNUM_0x4C = 0x4C,
POSITIVE_FIXNUM_0x4D = 0x4D,
POSITIVE_FIXNUM_0x4E = 0x4E,
POSITIVE_FIXNUM_0x4F = 0x4F,
POSITIVE_FIXNUM_0x50 = 0x50,
POSITIVE_FIXNUM_0x51 = 0x51,
POSITIVE_FIXNUM_0x52 = 0x52,
POSITIVE_FIXNUM_0x53 = 0x53,
POSITIVE_FIXNUM_0x54 = 0x54,
POSITIVE_FIXNUM_0x55 = 0x55,
POSITIVE_FIXNUM_0x56 = 0x56,
POSITIVE_FIXNUM_0x57 = 0x57,
POSITIVE_FIXNUM_0x58 = 0x58,
POSITIVE_FIXNUM_0x59 = 0x59,
POSITIVE_FIXNUM_0x5A = 0x5A,
POSITIVE_FIXNUM_0x5B = 0x5B,
POSITIVE_FIXNUM_0x5C = 0x5C,
POSITIVE_FIXNUM_0x5D = 0x5D,
POSITIVE_FIXNUM_0x5E = 0x5E,
POSITIVE_FIXNUM_0x5F = 0x5F,
POSITIVE_FIXNUM_0x60 = 0x60,
POSITIVE_FIXNUM_0x61 = 0x61,
POSITIVE_FIXNUM_0x62 = 0x62,
POSITIVE_FIXNUM_0x63 = 0x63,
POSITIVE_FIXNUM_0x64 = 0x64,
POSITIVE_FIXNUM_0x65 = 0x65,
POSITIVE_FIXNUM_0x66 = 0x66,
POSITIVE_FIXNUM_0x67 = 0x67,
POSITIVE_FIXNUM_0x68 = 0x68,
POSITIVE_FIXNUM_0x69 = 0x69,
POSITIVE_FIXNUM_0x6A = 0x6A,
POSITIVE_FIXNUM_0x6B = 0x6B,
POSITIVE_FIXNUM_0x6C = 0x6C,
POSITIVE_FIXNUM_0x6D = 0x6D,
POSITIVE_FIXNUM_0x6E = 0x6E,
POSITIVE_FIXNUM_0x6F = 0x6F,
POSITIVE_FIXNUM_0x70 = 0x70,
POSITIVE_FIXNUM_0x71 = 0x71,
POSITIVE_FIXNUM_0x72 = 0x72,
POSITIVE_FIXNUM_0x73 = 0x73,
POSITIVE_FIXNUM_0x74 = 0x74,
POSITIVE_FIXNUM_0x75 = 0x75,
POSITIVE_FIXNUM_0x76 = 0x76,
POSITIVE_FIXNUM_0x77 = 0x77,
POSITIVE_FIXNUM_0x78 = 0x78,
POSITIVE_FIXNUM_0x79 = 0x79,
POSITIVE_FIXNUM_0x7A = 0x7A,
POSITIVE_FIXNUM_0x7B = 0x7B,
POSITIVE_FIXNUM_0x7C = 0x7C,
POSITIVE_FIXNUM_0x7D = 0x7D,
POSITIVE_FIXNUM_0x7E = 0x7E,
POSITIVE_FIXNUM_0x7F = 0x7F,
#endregion
#region FIX_MAP 0x80-0x8F
FIX_MAP = 0x80,
FIX_MAP_0x1 = 0x81,
FIX_MAP_0x2 = 0x82,
FIX_MAP_0x3 = 0x83,
FIX_MAP_0x4 = 0x84,
FIX_MAP_0x5 = 0x85,
FIX_MAP_0x6 = 0x86,
FIX_MAP_0x7 = 0x87,
FIX_MAP_0x8 = 0x88,
FIX_MAP_0x9 = 0x89,
FIX_MAP_0xA = 0x8A,
FIX_MAP_0xB = 0x8B,
FIX_MAP_0xC = 0x8C,
FIX_MAP_0xD = 0x8D,
FIX_MAP_0xE = 0x8E,
FIX_MAP_0xF = 0x8F,
#endregion
#region FIX_ARRAY 0x90-0x9F
FIX_ARRAY = 0x90,
FIX_ARRAY_0x1 = 0x91,
FIX_ARRAY_0x2 = 0x92,
FIX_ARRAY_0x3 = 0x93,
FIX_ARRAY_0x4 = 0x94,
FIX_ARRAY_0x5 = 0x95,
FIX_ARRAY_0x6 = 0x96,
FIX_ARRAY_0x7 = 0x97,
FIX_ARRAY_0x8 = 0x98,
FIX_ARRAY_0x9 = 0x99,
FIX_ARRAY_0xA = 0x9A,
FIX_ARRAY_0xB = 0x9B,
FIX_ARRAY_0xC = 0x9C,
FIX_ARRAY_0xD = 0x9D,
FIX_ARRAY_0xE = 0x9E,
FIX_ARRAY_0xF = 0x9F,
#endregion
#region FIX_STR 0xA0-0xBF
FIX_STR = 0xA0,
FIX_STR_0x01 = 0xA1,
FIX_STR_0x02 = 0xA2,
FIX_STR_0x03 = 0xA3,
FIX_STR_0x04 = 0xA4,
FIX_STR_0x05 = 0xA5,
FIX_STR_0x06 = 0xA6,
FIX_STR_0x07 = 0xA7,
FIX_STR_0x08 = 0xA8,
FIX_STR_0x09 = 0xA9,
FIX_STR_0x0A = 0xAA,
FIX_STR_0x0B = 0xAB,
FIX_STR_0x0C = 0xAC,
FIX_STR_0x0D = 0xAD,
FIX_STR_0x0E = 0xAE,
FIX_STR_0x0F = 0xAF,
FIX_STR_0x10 = 0xB0,
FIX_STR_0x11 = 0xB1,
FIX_STR_0x12 = 0xB2,
FIX_STR_0x13 = 0xB3,
FIX_STR_0x14 = 0xB4,
FIX_STR_0x15 = 0xB5,
FIX_STR_0x16 = 0xB6,
FIX_STR_0x17 = 0xB7,
FIX_STR_0x18 = 0xB8,
FIX_STR_0x19 = 0xB9,
FIX_STR_0x1A = 0xBA,
FIX_STR_0x1B = 0xBB,
FIX_STR_0x1C = 0xBC,
FIX_STR_0x1D = 0xBD,
FIX_STR_0x1E = 0xBE,
FIX_STR_0x1F = 0xBF,
#endregion
NIL = 0xC0,
NEVER_USED = 0xC1,
FALSE = 0xC2,
TRUE = 0xC3,
BIN8 = 0xC4,
BIN16 = 0xC5,
BIN32 = 0xC6,
EXT8 = 0xC7,
EXT16 = 0xC8,
EXT32 = 0xC9,
FLOAT = 0xCA,
DOUBLE = 0xCB,
UINT8 = 0xCC,
UINT16 = 0xCD,
UINT32 = 0xCE,
UINT64 = 0xCF,
INT8 = 0xD0,
INT16 = 0xD1,
INT32 = 0xD2,
INT64 = 0xD3,
FIX_EXT_1 = 0xD4,
FIX_EXT_2 = 0xD5,
FIX_EXT_4 = 0xD6,
FIX_EXT_8 = 0xD7,
FIX_EXT_16 = 0xD8,
STR8 = 0xD9,
STR16 = 0xDA,
STR32 = 0xDB,
ARRAY16 = 0xDC,
ARRAY32 = 0xDD,
MAP16 = 0xDE,
MAP32 = 0xDF,
#region NEGATIVE_FIXNUM 0xE0-0xFF
NEGATIVE_FIXNUM = 0xE0, // 1110 0000 = -32
NEGATIVE_FIXNUM_0x1F = 0xE1, // -31
NEGATIVE_FIXNUM_0x1E = 0xE2,
NEGATIVE_FIXNUM_0x1D = 0xE3,
NEGATIVE_FIXNUM_0x1C = 0xE4,
NEGATIVE_FIXNUM_0x1B = 0xE5,
NEGATIVE_FIXNUM_0x1A = 0xE6,
NEGATIVE_FIXNUM_0x19 = 0xE7,
NEGATIVE_FIXNUM_0x18 = 0xE8,
NEGATIVE_FIXNUM_0x17 = 0xE9,
NEGATIVE_FIXNUM_0x16 = 0xEA,
NEGATIVE_FIXNUM_0x15 = 0xEB,
NEGATIVE_FIXNUM_0x14 = 0xEC,
NEGATIVE_FIXNUM_0x13 = 0xED,
NEGATIVE_FIXNUM_0x12 = 0xEE,
NEGATIVE_FIXNUM_0x11 = 0xEF,
NEGATIVE_FIXNUM_0x10 = 0xF0,
NEGATIVE_FIXNUM_0x0F = 0xF1,
NEGATIVE_FIXNUM_0x0E = 0xF2,
NEGATIVE_FIXNUM_0x0D = 0xF3,
NEGATIVE_FIXNUM_0x0C = 0xF4,
NEGATIVE_FIXNUM_0x0B = 0xF5,
NEGATIVE_FIXNUM_0x0A = 0xF6,
NEGATIVE_FIXNUM_0x09 = 0xF7,
NEGATIVE_FIXNUM_0x08 = 0xF8,
NEGATIVE_FIXNUM_0x07 = 0xF9,
NEGATIVE_FIXNUM_0x06 = 0xFA,
NEGATIVE_FIXNUM_0x05 = 0xFB,
NEGATIVE_FIXNUM_0x04 = 0xFC,
NEGATIVE_FIXNUM_0x03 = 0xFD,
NEGATIVE_FIXNUM_0x02 = 0xFE,
NEGATIVE_FIXNUM_0x01 = 0xFF, // -1
#endregion
}
public enum ExtType : byte
{
UNKNOWN = 0x00,
UINT16_BE = 0x01,
UINT32_BE = 0x02,
UINT64_BE = 0x03,
INT16_BE = 0x04,
INT32_BE = 0x05,
INT64_BE = 0x06,
SINGLE_BE = 0x07,
DOUBLE_BE = 0x08,
UINT16_LE = 0x09,
UINT32_LE = 0x0A,
UINT64_LE = 0x0B,
INT16_LE = 0x0C,
INT32_LE = 0x0D,
INT64_LE = 0x0E,
SINGLE_LE = 0x0F,
DOUBLE_LE = 0x10,
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 4c6d91a562e590e438f0baa988389d61
timeCreated: 1540814648
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,341 +0,0 @@
namespace UniJSON
{
public static class MsgPackTypeExtensions
{
public static bool IsArray(this MsgPackType formatType)
{
switch (formatType)
{
case MsgPackType.FIX_ARRAY:
case MsgPackType.FIX_ARRAY_0x1:
case MsgPackType.FIX_ARRAY_0x2:
case MsgPackType.FIX_ARRAY_0x3:
case MsgPackType.FIX_ARRAY_0x4:
case MsgPackType.FIX_ARRAY_0x5:
case MsgPackType.FIX_ARRAY_0x6:
case MsgPackType.FIX_ARRAY_0x7:
case MsgPackType.FIX_ARRAY_0x8:
case MsgPackType.FIX_ARRAY_0x9:
case MsgPackType.FIX_ARRAY_0xA:
case MsgPackType.FIX_ARRAY_0xB:
case MsgPackType.FIX_ARRAY_0xC:
case MsgPackType.FIX_ARRAY_0xD:
case MsgPackType.FIX_ARRAY_0xE:
case MsgPackType.FIX_ARRAY_0xF:
case MsgPackType.ARRAY16:
case MsgPackType.ARRAY32:
return true;
default:
return false;
}
}
public static bool IsMap(this MsgPackType formatType)
{
switch (formatType)
{
case MsgPackType.FIX_MAP:
case MsgPackType.FIX_MAP_0x1:
case MsgPackType.FIX_MAP_0x2:
case MsgPackType.FIX_MAP_0x3:
case MsgPackType.FIX_MAP_0x4:
case MsgPackType.FIX_MAP_0x5:
case MsgPackType.FIX_MAP_0x6:
case MsgPackType.FIX_MAP_0x7:
case MsgPackType.FIX_MAP_0x8:
case MsgPackType.FIX_MAP_0x9:
case MsgPackType.FIX_MAP_0xA:
case MsgPackType.FIX_MAP_0xB:
case MsgPackType.FIX_MAP_0xC:
case MsgPackType.FIX_MAP_0xD:
case MsgPackType.FIX_MAP_0xE:
case MsgPackType.FIX_MAP_0xF:
case MsgPackType.MAP16:
case MsgPackType.MAP32:
return true;
default:
return false;
}
}
public static bool IsInteger(this MsgPackType formatType)
{
switch (formatType)
{
case MsgPackType.POSITIVE_FIXNUM:
case MsgPackType.POSITIVE_FIXNUM_0x01:
case MsgPackType.POSITIVE_FIXNUM_0x02:
case MsgPackType.POSITIVE_FIXNUM_0x03:
case MsgPackType.POSITIVE_FIXNUM_0x04:
case MsgPackType.POSITIVE_FIXNUM_0x05:
case MsgPackType.POSITIVE_FIXNUM_0x06:
case MsgPackType.POSITIVE_FIXNUM_0x07:
case MsgPackType.POSITIVE_FIXNUM_0x08:
case MsgPackType.POSITIVE_FIXNUM_0x09:
case MsgPackType.POSITIVE_FIXNUM_0x0A:
case MsgPackType.POSITIVE_FIXNUM_0x0B:
case MsgPackType.POSITIVE_FIXNUM_0x0C:
case MsgPackType.POSITIVE_FIXNUM_0x0D:
case MsgPackType.POSITIVE_FIXNUM_0x0E:
case MsgPackType.POSITIVE_FIXNUM_0x0F:
case MsgPackType.POSITIVE_FIXNUM_0x10:
case MsgPackType.POSITIVE_FIXNUM_0x11:
case MsgPackType.POSITIVE_FIXNUM_0x12:
case MsgPackType.POSITIVE_FIXNUM_0x13:
case MsgPackType.POSITIVE_FIXNUM_0x14:
case MsgPackType.POSITIVE_FIXNUM_0x15:
case MsgPackType.POSITIVE_FIXNUM_0x16:
case MsgPackType.POSITIVE_FIXNUM_0x17:
case MsgPackType.POSITIVE_FIXNUM_0x18:
case MsgPackType.POSITIVE_FIXNUM_0x19:
case MsgPackType.POSITIVE_FIXNUM_0x1A:
case MsgPackType.POSITIVE_FIXNUM_0x1B:
case MsgPackType.POSITIVE_FIXNUM_0x1C:
case MsgPackType.POSITIVE_FIXNUM_0x1D:
case MsgPackType.POSITIVE_FIXNUM_0x1E:
case MsgPackType.POSITIVE_FIXNUM_0x1F:
case MsgPackType.POSITIVE_FIXNUM_0x20:
case MsgPackType.POSITIVE_FIXNUM_0x21:
case MsgPackType.POSITIVE_FIXNUM_0x22:
case MsgPackType.POSITIVE_FIXNUM_0x23:
case MsgPackType.POSITIVE_FIXNUM_0x24:
case MsgPackType.POSITIVE_FIXNUM_0x25:
case MsgPackType.POSITIVE_FIXNUM_0x26:
case MsgPackType.POSITIVE_FIXNUM_0x27:
case MsgPackType.POSITIVE_FIXNUM_0x28:
case MsgPackType.POSITIVE_FIXNUM_0x29:
case MsgPackType.POSITIVE_FIXNUM_0x2A:
case MsgPackType.POSITIVE_FIXNUM_0x2B:
case MsgPackType.POSITIVE_FIXNUM_0x2C:
case MsgPackType.POSITIVE_FIXNUM_0x2D:
case MsgPackType.POSITIVE_FIXNUM_0x2E:
case MsgPackType.POSITIVE_FIXNUM_0x2F:
case MsgPackType.POSITIVE_FIXNUM_0x30:
case MsgPackType.POSITIVE_FIXNUM_0x31:
case MsgPackType.POSITIVE_FIXNUM_0x32:
case MsgPackType.POSITIVE_FIXNUM_0x33:
case MsgPackType.POSITIVE_FIXNUM_0x34:
case MsgPackType.POSITIVE_FIXNUM_0x35:
case MsgPackType.POSITIVE_FIXNUM_0x36:
case MsgPackType.POSITIVE_FIXNUM_0x37:
case MsgPackType.POSITIVE_FIXNUM_0x38:
case MsgPackType.POSITIVE_FIXNUM_0x39:
case MsgPackType.POSITIVE_FIXNUM_0x3A:
case MsgPackType.POSITIVE_FIXNUM_0x3B:
case MsgPackType.POSITIVE_FIXNUM_0x3C:
case MsgPackType.POSITIVE_FIXNUM_0x3D:
case MsgPackType.POSITIVE_FIXNUM_0x3E:
case MsgPackType.POSITIVE_FIXNUM_0x3F:
case MsgPackType.POSITIVE_FIXNUM_0x40:
case MsgPackType.POSITIVE_FIXNUM_0x41:
case MsgPackType.POSITIVE_FIXNUM_0x42:
case MsgPackType.POSITIVE_FIXNUM_0x43:
case MsgPackType.POSITIVE_FIXNUM_0x44:
case MsgPackType.POSITIVE_FIXNUM_0x45:
case MsgPackType.POSITIVE_FIXNUM_0x46:
case MsgPackType.POSITIVE_FIXNUM_0x47:
case MsgPackType.POSITIVE_FIXNUM_0x48:
case MsgPackType.POSITIVE_FIXNUM_0x49:
case MsgPackType.POSITIVE_FIXNUM_0x4A:
case MsgPackType.POSITIVE_FIXNUM_0x4B:
case MsgPackType.POSITIVE_FIXNUM_0x4C:
case MsgPackType.POSITIVE_FIXNUM_0x4D:
case MsgPackType.POSITIVE_FIXNUM_0x4E:
case MsgPackType.POSITIVE_FIXNUM_0x4F:
case MsgPackType.POSITIVE_FIXNUM_0x50:
case MsgPackType.POSITIVE_FIXNUM_0x51:
case MsgPackType.POSITIVE_FIXNUM_0x52:
case MsgPackType.POSITIVE_FIXNUM_0x53:
case MsgPackType.POSITIVE_FIXNUM_0x54:
case MsgPackType.POSITIVE_FIXNUM_0x55:
case MsgPackType.POSITIVE_FIXNUM_0x56:
case MsgPackType.POSITIVE_FIXNUM_0x57:
case MsgPackType.POSITIVE_FIXNUM_0x58:
case MsgPackType.POSITIVE_FIXNUM_0x59:
case MsgPackType.POSITIVE_FIXNUM_0x5A:
case MsgPackType.POSITIVE_FIXNUM_0x5B:
case MsgPackType.POSITIVE_FIXNUM_0x5C:
case MsgPackType.POSITIVE_FIXNUM_0x5D:
case MsgPackType.POSITIVE_FIXNUM_0x5E:
case MsgPackType.POSITIVE_FIXNUM_0x5F:
case MsgPackType.POSITIVE_FIXNUM_0x60:
case MsgPackType.POSITIVE_FIXNUM_0x61:
case MsgPackType.POSITIVE_FIXNUM_0x62:
case MsgPackType.POSITIVE_FIXNUM_0x63:
case MsgPackType.POSITIVE_FIXNUM_0x64:
case MsgPackType.POSITIVE_FIXNUM_0x65:
case MsgPackType.POSITIVE_FIXNUM_0x66:
case MsgPackType.POSITIVE_FIXNUM_0x67:
case MsgPackType.POSITIVE_FIXNUM_0x68:
case MsgPackType.POSITIVE_FIXNUM_0x69:
case MsgPackType.POSITIVE_FIXNUM_0x6A:
case MsgPackType.POSITIVE_FIXNUM_0x6B:
case MsgPackType.POSITIVE_FIXNUM_0x6C:
case MsgPackType.POSITIVE_FIXNUM_0x6D:
case MsgPackType.POSITIVE_FIXNUM_0x6E:
case MsgPackType.POSITIVE_FIXNUM_0x6F:
case MsgPackType.POSITIVE_FIXNUM_0x70:
case MsgPackType.POSITIVE_FIXNUM_0x71:
case MsgPackType.POSITIVE_FIXNUM_0x72:
case MsgPackType.POSITIVE_FIXNUM_0x73:
case MsgPackType.POSITIVE_FIXNUM_0x74:
case MsgPackType.POSITIVE_FIXNUM_0x75:
case MsgPackType.POSITIVE_FIXNUM_0x76:
case MsgPackType.POSITIVE_FIXNUM_0x77:
case MsgPackType.POSITIVE_FIXNUM_0x78:
case MsgPackType.POSITIVE_FIXNUM_0x79:
case MsgPackType.POSITIVE_FIXNUM_0x7A:
case MsgPackType.POSITIVE_FIXNUM_0x7B:
case MsgPackType.POSITIVE_FIXNUM_0x7C:
case MsgPackType.POSITIVE_FIXNUM_0x7D:
case MsgPackType.POSITIVE_FIXNUM_0x7E:
case MsgPackType.POSITIVE_FIXNUM_0x7F:
case MsgPackType.NEGATIVE_FIXNUM:
case MsgPackType.NEGATIVE_FIXNUM_0x01:
case MsgPackType.NEGATIVE_FIXNUM_0x02:
case MsgPackType.NEGATIVE_FIXNUM_0x03:
case MsgPackType.NEGATIVE_FIXNUM_0x04:
case MsgPackType.NEGATIVE_FIXNUM_0x05:
case MsgPackType.NEGATIVE_FIXNUM_0x06:
case MsgPackType.NEGATIVE_FIXNUM_0x07:
case MsgPackType.NEGATIVE_FIXNUM_0x08:
case MsgPackType.NEGATIVE_FIXNUM_0x09:
case MsgPackType.NEGATIVE_FIXNUM_0x0A:
case MsgPackType.NEGATIVE_FIXNUM_0x0B:
case MsgPackType.NEGATIVE_FIXNUM_0x0C:
case MsgPackType.NEGATIVE_FIXNUM_0x0D:
case MsgPackType.NEGATIVE_FIXNUM_0x0E:
case MsgPackType.NEGATIVE_FIXNUM_0x0F:
case MsgPackType.NEGATIVE_FIXNUM_0x10:
case MsgPackType.NEGATIVE_FIXNUM_0x11:
case MsgPackType.NEGATIVE_FIXNUM_0x12:
case MsgPackType.NEGATIVE_FIXNUM_0x13:
case MsgPackType.NEGATIVE_FIXNUM_0x14:
case MsgPackType.NEGATIVE_FIXNUM_0x15:
case MsgPackType.NEGATIVE_FIXNUM_0x16:
case MsgPackType.NEGATIVE_FIXNUM_0x17:
case MsgPackType.NEGATIVE_FIXNUM_0x18:
case MsgPackType.NEGATIVE_FIXNUM_0x19:
case MsgPackType.NEGATIVE_FIXNUM_0x1A:
case MsgPackType.NEGATIVE_FIXNUM_0x1B:
case MsgPackType.NEGATIVE_FIXNUM_0x1C:
case MsgPackType.NEGATIVE_FIXNUM_0x1D:
case MsgPackType.NEGATIVE_FIXNUM_0x1E:
case MsgPackType.NEGATIVE_FIXNUM_0x1F:
case MsgPackType.INT8:
case MsgPackType.INT16:
case MsgPackType.INT32:
case MsgPackType.INT64:
case MsgPackType.UINT8:
case MsgPackType.UINT16:
case MsgPackType.UINT32:
case MsgPackType.UINT64:
return true;
default:
return false;
}
}
public static bool IsFloat(this MsgPackType formatType)
{
switch (formatType)
{
case MsgPackType.FLOAT:
case MsgPackType.DOUBLE:
return true;
default:
return false;
}
}
public static bool IsString(this MsgPackType formatType)
{
switch (formatType)
{
case MsgPackType.FIX_STR:
case MsgPackType.FIX_STR_0x01:
case MsgPackType.FIX_STR_0x02:
case MsgPackType.FIX_STR_0x03:
case MsgPackType.FIX_STR_0x04:
case MsgPackType.FIX_STR_0x05:
case MsgPackType.FIX_STR_0x06:
case MsgPackType.FIX_STR_0x07:
case MsgPackType.FIX_STR_0x08:
case MsgPackType.FIX_STR_0x09:
case MsgPackType.FIX_STR_0x0A:
case MsgPackType.FIX_STR_0x0B:
case MsgPackType.FIX_STR_0x0C:
case MsgPackType.FIX_STR_0x0D:
case MsgPackType.FIX_STR_0x0E:
case MsgPackType.FIX_STR_0x0F:
case MsgPackType.FIX_STR_0x10:
case MsgPackType.FIX_STR_0x11:
case MsgPackType.FIX_STR_0x12:
case MsgPackType.FIX_STR_0x13:
case MsgPackType.FIX_STR_0x14:
case MsgPackType.FIX_STR_0x15:
case MsgPackType.FIX_STR_0x16:
case MsgPackType.FIX_STR_0x17:
case MsgPackType.FIX_STR_0x18:
case MsgPackType.FIX_STR_0x19:
case MsgPackType.FIX_STR_0x1A:
case MsgPackType.FIX_STR_0x1B:
case MsgPackType.FIX_STR_0x1C:
case MsgPackType.FIX_STR_0x1D:
case MsgPackType.FIX_STR_0x1E:
case MsgPackType.FIX_STR_0x1F:
case MsgPackType.STR8:
case MsgPackType.STR16:
case MsgPackType.STR32:
return true;
}
return false;
}
public static bool IsExt(this MsgPackType formatType)
{
switch (formatType)
{
case MsgPackType.FIX_EXT_1:
case MsgPackType.FIX_EXT_2:
case MsgPackType.FIX_EXT_4:
case MsgPackType.FIX_EXT_8:
case MsgPackType.FIX_EXT_16:
case MsgPackType.EXT8:
case MsgPackType.EXT16:
case MsgPackType.EXT32:
return true;
default:
return false;
}
}
public static bool IsBinary(this MsgPackType formatType)
{
switch (formatType)
{
case MsgPackType.BIN8:
case MsgPackType.BIN16:
case MsgPackType.BIN32:
return true;
default:
return false;
}
}
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 6e803181a063cd940b8272f45497b506
timeCreated: 1540898737
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,767 +0,0 @@
using System;
using System.Text;
namespace UniJSON
{
public struct MsgPackValue: IListTreeItem, IValue<MsgPackValue>
{
public int ParentIndex
{
get;
private set;
}
public ArraySegment<Byte> Bytes
{
get;
private set;
}
public void SetBytesCount(int count)
{
Bytes = new ArraySegment<byte>(Bytes.Array, Bytes.Offset, count);
}
public MsgPackType Format
{
get
{
return (MsgPackType)Bytes.Get(0);
}
}
public ValueNodeType ValueType
{
get
{
switch (Format)
{
case MsgPackType.NIL:
return ValueNodeType.Null;
case MsgPackType.TRUE:
case MsgPackType.FALSE:
return ValueNodeType.Boolean;
default:
if (Format.IsArray())
{
return ValueNodeType.Array;
}
else if (Format.IsMap())
{
return ValueNodeType.Object;
}
else if (Format.IsInteger())
{
return ValueNodeType.Integer;
}
else if (Format.IsFloat())
{
return ValueNodeType.Number;
}
else if (Format.IsString())
{
return ValueNodeType.String;
}
else if (Format.IsBinary())
{
return ValueNodeType.Binary;
}
else
{
throw new NotImplementedException();
}
}
}
}
int _childCount;
public int ChildCount
{
get { return _childCount; }
}
public void SetChildCount(int count)
{
_childCount = count;
}
public MsgPackValue(ArraySegment<Byte> segment, int parentIndex) : this()
{
Bytes = segment;
ParentIndex = parentIndex;
}
public MsgPackValue New(ArraySegment<byte> bytes, ValueNodeType valueType, int parentIndex)
{
return new MsgPackValue(bytes, parentIndex);
}
public MsgPackValue Key(Utf8String key, int parentIndex)
{
throw new NotImplementedException();
}
/// <summary>
/// ArrayとMap以外のタイプのペイロードを得る
/// </summary>
/// <returns></returns>
public ArraySegment<Byte> GetBody()
{
var bytes = Bytes;
var formatType = Format;
switch (formatType)
{
case MsgPackType.FIX_STR: return bytes.Advance(1).Take(0);
case MsgPackType.FIX_STR_0x01: return bytes.Advance(1).Take(1);
case MsgPackType.FIX_STR_0x02: return bytes.Advance(1).Take(2);
case MsgPackType.FIX_STR_0x03: return bytes.Advance(1).Take(3);
case MsgPackType.FIX_STR_0x04: return bytes.Advance(1).Take(4);
case MsgPackType.FIX_STR_0x05: return bytes.Advance(1).Take(5);
case MsgPackType.FIX_STR_0x06: return bytes.Advance(1).Take(6);
case MsgPackType.FIX_STR_0x07: return bytes.Advance(1).Take(7);
case MsgPackType.FIX_STR_0x08: return bytes.Advance(1).Take(8);
case MsgPackType.FIX_STR_0x09: return bytes.Advance(1).Take(9);
case MsgPackType.FIX_STR_0x0A: return bytes.Advance(1).Take(10);
case MsgPackType.FIX_STR_0x0B: return bytes.Advance(1).Take(11);
case MsgPackType.FIX_STR_0x0C: return bytes.Advance(1).Take(12);
case MsgPackType.FIX_STR_0x0D: return bytes.Advance(1).Take(13);
case MsgPackType.FIX_STR_0x0E: return bytes.Advance(1).Take(14);
case MsgPackType.FIX_STR_0x0F: return bytes.Advance(1).Take(15);
case MsgPackType.FIX_STR_0x10: return bytes.Advance(1).Take(16);
case MsgPackType.FIX_STR_0x11: return bytes.Advance(1).Take(17);
case MsgPackType.FIX_STR_0x12: return bytes.Advance(1).Take(18);
case MsgPackType.FIX_STR_0x13: return bytes.Advance(1).Take(19);
case MsgPackType.FIX_STR_0x14: return bytes.Advance(1).Take(20);
case MsgPackType.FIX_STR_0x15: return bytes.Advance(1).Take(21);
case MsgPackType.FIX_STR_0x16: return bytes.Advance(1).Take(22);
case MsgPackType.FIX_STR_0x17: return bytes.Advance(1).Take(23);
case MsgPackType.FIX_STR_0x18: return bytes.Advance(1).Take(24);
case MsgPackType.FIX_STR_0x19: return bytes.Advance(1).Take(25);
case MsgPackType.FIX_STR_0x1A: return bytes.Advance(1).Take(26);
case MsgPackType.FIX_STR_0x1B: return bytes.Advance(1).Take(27);
case MsgPackType.FIX_STR_0x1C: return bytes.Advance(1).Take(28);
case MsgPackType.FIX_STR_0x1D: return bytes.Advance(1).Take(29);
case MsgPackType.FIX_STR_0x1E: return bytes.Advance(1).Take(30);
case MsgPackType.FIX_STR_0x1F: return bytes.Advance(1).Take(31);
case MsgPackType.STR8:
case MsgPackType.BIN8:
{
var count = bytes.Get(1);
return bytes.Advance(1 + 1).Take(count);
}
case MsgPackType.STR16:
case MsgPackType.BIN16:
{
var count = EndianConverter.NetworkByteWordToUnsignedNativeByteOrder(bytes.Advance(1));
return bytes.Advance(1 + 2).Take(count);
}
case MsgPackType.STR32:
case MsgPackType.BIN32:
{
var count = EndianConverter.NetworkByteDWordToUnsignedNativeByteOrder(bytes.Advance(1));
return bytes.Advance(1 + 4).Take((int)count);
}
case MsgPackType.NIL:
case MsgPackType.TRUE:
case MsgPackType.FALSE:
case MsgPackType.POSITIVE_FIXNUM:
case MsgPackType.POSITIVE_FIXNUM_0x01:
case MsgPackType.POSITIVE_FIXNUM_0x02:
case MsgPackType.POSITIVE_FIXNUM_0x03:
case MsgPackType.POSITIVE_FIXNUM_0x04:
case MsgPackType.POSITIVE_FIXNUM_0x05:
case MsgPackType.POSITIVE_FIXNUM_0x06:
case MsgPackType.POSITIVE_FIXNUM_0x07:
case MsgPackType.POSITIVE_FIXNUM_0x08:
case MsgPackType.POSITIVE_FIXNUM_0x09:
case MsgPackType.POSITIVE_FIXNUM_0x0A:
case MsgPackType.POSITIVE_FIXNUM_0x0B:
case MsgPackType.POSITIVE_FIXNUM_0x0C:
case MsgPackType.POSITIVE_FIXNUM_0x0D:
case MsgPackType.POSITIVE_FIXNUM_0x0E:
case MsgPackType.POSITIVE_FIXNUM_0x0F:
case MsgPackType.POSITIVE_FIXNUM_0x10:
case MsgPackType.POSITIVE_FIXNUM_0x11:
case MsgPackType.POSITIVE_FIXNUM_0x12:
case MsgPackType.POSITIVE_FIXNUM_0x13:
case MsgPackType.POSITIVE_FIXNUM_0x14:
case MsgPackType.POSITIVE_FIXNUM_0x15:
case MsgPackType.POSITIVE_FIXNUM_0x16:
case MsgPackType.POSITIVE_FIXNUM_0x17:
case MsgPackType.POSITIVE_FIXNUM_0x18:
case MsgPackType.POSITIVE_FIXNUM_0x19:
case MsgPackType.POSITIVE_FIXNUM_0x1A:
case MsgPackType.POSITIVE_FIXNUM_0x1B:
case MsgPackType.POSITIVE_FIXNUM_0x1C:
case MsgPackType.POSITIVE_FIXNUM_0x1D:
case MsgPackType.POSITIVE_FIXNUM_0x1E:
case MsgPackType.POSITIVE_FIXNUM_0x1F:
case MsgPackType.POSITIVE_FIXNUM_0x20:
case MsgPackType.POSITIVE_FIXNUM_0x21:
case MsgPackType.POSITIVE_FIXNUM_0x22:
case MsgPackType.POSITIVE_FIXNUM_0x23:
case MsgPackType.POSITIVE_FIXNUM_0x24:
case MsgPackType.POSITIVE_FIXNUM_0x25:
case MsgPackType.POSITIVE_FIXNUM_0x26:
case MsgPackType.POSITIVE_FIXNUM_0x27:
case MsgPackType.POSITIVE_FIXNUM_0x28:
case MsgPackType.POSITIVE_FIXNUM_0x29:
case MsgPackType.POSITIVE_FIXNUM_0x2A:
case MsgPackType.POSITIVE_FIXNUM_0x2B:
case MsgPackType.POSITIVE_FIXNUM_0x2C:
case MsgPackType.POSITIVE_FIXNUM_0x2D:
case MsgPackType.POSITIVE_FIXNUM_0x2E:
case MsgPackType.POSITIVE_FIXNUM_0x2F:
case MsgPackType.POSITIVE_FIXNUM_0x30:
case MsgPackType.POSITIVE_FIXNUM_0x31:
case MsgPackType.POSITIVE_FIXNUM_0x32:
case MsgPackType.POSITIVE_FIXNUM_0x33:
case MsgPackType.POSITIVE_FIXNUM_0x34:
case MsgPackType.POSITIVE_FIXNUM_0x35:
case MsgPackType.POSITIVE_FIXNUM_0x36:
case MsgPackType.POSITIVE_FIXNUM_0x37:
case MsgPackType.POSITIVE_FIXNUM_0x38:
case MsgPackType.POSITIVE_FIXNUM_0x39:
case MsgPackType.POSITIVE_FIXNUM_0x3A:
case MsgPackType.POSITIVE_FIXNUM_0x3B:
case MsgPackType.POSITIVE_FIXNUM_0x3C:
case MsgPackType.POSITIVE_FIXNUM_0x3D:
case MsgPackType.POSITIVE_FIXNUM_0x3E:
case MsgPackType.POSITIVE_FIXNUM_0x3F:
case MsgPackType.POSITIVE_FIXNUM_0x40:
case MsgPackType.POSITIVE_FIXNUM_0x41:
case MsgPackType.POSITIVE_FIXNUM_0x42:
case MsgPackType.POSITIVE_FIXNUM_0x43:
case MsgPackType.POSITIVE_FIXNUM_0x44:
case MsgPackType.POSITIVE_FIXNUM_0x45:
case MsgPackType.POSITIVE_FIXNUM_0x46:
case MsgPackType.POSITIVE_FIXNUM_0x47:
case MsgPackType.POSITIVE_FIXNUM_0x48:
case MsgPackType.POSITIVE_FIXNUM_0x49:
case MsgPackType.POSITIVE_FIXNUM_0x4A:
case MsgPackType.POSITIVE_FIXNUM_0x4B:
case MsgPackType.POSITIVE_FIXNUM_0x4C:
case MsgPackType.POSITIVE_FIXNUM_0x4D:
case MsgPackType.POSITIVE_FIXNUM_0x4E:
case MsgPackType.POSITIVE_FIXNUM_0x4F:
case MsgPackType.POSITIVE_FIXNUM_0x50:
case MsgPackType.POSITIVE_FIXNUM_0x51:
case MsgPackType.POSITIVE_FIXNUM_0x52:
case MsgPackType.POSITIVE_FIXNUM_0x53:
case MsgPackType.POSITIVE_FIXNUM_0x54:
case MsgPackType.POSITIVE_FIXNUM_0x55:
case MsgPackType.POSITIVE_FIXNUM_0x56:
case MsgPackType.POSITIVE_FIXNUM_0x57:
case MsgPackType.POSITIVE_FIXNUM_0x58:
case MsgPackType.POSITIVE_FIXNUM_0x59:
case MsgPackType.POSITIVE_FIXNUM_0x5A:
case MsgPackType.POSITIVE_FIXNUM_0x5B:
case MsgPackType.POSITIVE_FIXNUM_0x5C:
case MsgPackType.POSITIVE_FIXNUM_0x5D:
case MsgPackType.POSITIVE_FIXNUM_0x5E:
case MsgPackType.POSITIVE_FIXNUM_0x5F:
case MsgPackType.POSITIVE_FIXNUM_0x60:
case MsgPackType.POSITIVE_FIXNUM_0x61:
case MsgPackType.POSITIVE_FIXNUM_0x62:
case MsgPackType.POSITIVE_FIXNUM_0x63:
case MsgPackType.POSITIVE_FIXNUM_0x64:
case MsgPackType.POSITIVE_FIXNUM_0x65:
case MsgPackType.POSITIVE_FIXNUM_0x66:
case MsgPackType.POSITIVE_FIXNUM_0x67:
case MsgPackType.POSITIVE_FIXNUM_0x68:
case MsgPackType.POSITIVE_FIXNUM_0x69:
case MsgPackType.POSITIVE_FIXNUM_0x6A:
case MsgPackType.POSITIVE_FIXNUM_0x6B:
case MsgPackType.POSITIVE_FIXNUM_0x6C:
case MsgPackType.POSITIVE_FIXNUM_0x6D:
case MsgPackType.POSITIVE_FIXNUM_0x6E:
case MsgPackType.POSITIVE_FIXNUM_0x6F:
case MsgPackType.POSITIVE_FIXNUM_0x70:
case MsgPackType.POSITIVE_FIXNUM_0x71:
case MsgPackType.POSITIVE_FIXNUM_0x72:
case MsgPackType.POSITIVE_FIXNUM_0x73:
case MsgPackType.POSITIVE_FIXNUM_0x74:
case MsgPackType.POSITIVE_FIXNUM_0x75:
case MsgPackType.POSITIVE_FIXNUM_0x76:
case MsgPackType.POSITIVE_FIXNUM_0x77:
case MsgPackType.POSITIVE_FIXNUM_0x78:
case MsgPackType.POSITIVE_FIXNUM_0x79:
case MsgPackType.POSITIVE_FIXNUM_0x7A:
case MsgPackType.POSITIVE_FIXNUM_0x7B:
case MsgPackType.POSITIVE_FIXNUM_0x7C:
case MsgPackType.POSITIVE_FIXNUM_0x7D:
case MsgPackType.POSITIVE_FIXNUM_0x7E:
case MsgPackType.POSITIVE_FIXNUM_0x7F:
case MsgPackType.NEGATIVE_FIXNUM:
case MsgPackType.NEGATIVE_FIXNUM_0x01:
case MsgPackType.NEGATIVE_FIXNUM_0x02:
case MsgPackType.NEGATIVE_FIXNUM_0x03:
case MsgPackType.NEGATIVE_FIXNUM_0x04:
case MsgPackType.NEGATIVE_FIXNUM_0x05:
case MsgPackType.NEGATIVE_FIXNUM_0x06:
case MsgPackType.NEGATIVE_FIXNUM_0x07:
case MsgPackType.NEGATIVE_FIXNUM_0x08:
case MsgPackType.NEGATIVE_FIXNUM_0x09:
case MsgPackType.NEGATIVE_FIXNUM_0x0A:
case MsgPackType.NEGATIVE_FIXNUM_0x0B:
case MsgPackType.NEGATIVE_FIXNUM_0x0C:
case MsgPackType.NEGATIVE_FIXNUM_0x0D:
case MsgPackType.NEGATIVE_FIXNUM_0x0E:
case MsgPackType.NEGATIVE_FIXNUM_0x0F:
case MsgPackType.NEGATIVE_FIXNUM_0x10:
case MsgPackType.NEGATIVE_FIXNUM_0x11:
case MsgPackType.NEGATIVE_FIXNUM_0x12:
case MsgPackType.NEGATIVE_FIXNUM_0x13:
case MsgPackType.NEGATIVE_FIXNUM_0x14:
case MsgPackType.NEGATIVE_FIXNUM_0x15:
case MsgPackType.NEGATIVE_FIXNUM_0x16:
case MsgPackType.NEGATIVE_FIXNUM_0x17:
case MsgPackType.NEGATIVE_FIXNUM_0x18:
case MsgPackType.NEGATIVE_FIXNUM_0x19:
case MsgPackType.NEGATIVE_FIXNUM_0x1A:
case MsgPackType.NEGATIVE_FIXNUM_0x1B:
case MsgPackType.NEGATIVE_FIXNUM_0x1C:
case MsgPackType.NEGATIVE_FIXNUM_0x1D:
case MsgPackType.NEGATIVE_FIXNUM_0x1E:
case MsgPackType.NEGATIVE_FIXNUM_0x1F:
return bytes.Advance(1).Take(0);
case MsgPackType.UINT8:
case MsgPackType.INT8:
return bytes.Advance(1).Take(1);
case MsgPackType.UINT16:
case MsgPackType.INT16:
return bytes.Advance(1).Take(2);
case MsgPackType.UINT32:
case MsgPackType.INT32:
case MsgPackType.FLOAT:
return bytes.Advance(1).Take(4);
case MsgPackType.UINT64:
case MsgPackType.INT64:
case MsgPackType.DOUBLE:
return bytes.Advance(1).Take(8);
case MsgPackType.FIX_EXT_1:
return bytes.Advance(2).Take(1);
case MsgPackType.FIX_EXT_2:
return bytes.Advance(2).Take(2);
case MsgPackType.FIX_EXT_4:
return bytes.Advance(2).Take(4);
case MsgPackType.FIX_EXT_8:
return bytes.Advance(2).Take(8);
case MsgPackType.FIX_EXT_16:
return bytes.Advance(2).Take(16);
case MsgPackType.EXT8:
{
var count = bytes.Get(1);
return bytes.Advance(1 + 1 + 1).Take(count);
}
case MsgPackType.EXT16:
{
var count = EndianConverter.NetworkByteWordToUnsignedNativeByteOrder(bytes.Advance(1));
return bytes.Advance(1 + 2 + 1).Take(count);
}
case MsgPackType.EXT32:
{
var count = EndianConverter.NetworkByteDWordToUnsignedNativeByteOrder(bytes.Advance(1));
return bytes.Advance(1 + 4 + 1).Take((int)count);
}
default:
throw new ArgumentException("unknown type: " + formatType);
}
}
public SByte GetExtType()
{
var formatType = Format;
switch (formatType)
{
case MsgPackType.FIX_EXT_4:
return (SByte)Bytes.Get(1);
}
throw new NotImplementedException();
}
/// <summary>
/// ArrayとMap以外のタイプの値を得る
/// </summary>
/// <returns></returns>
public T GetValue<T>()
{
var formatType = Format;
switch (formatType)
{
case MsgPackType.NIL: return GenericCast<object, T>.Null();
case MsgPackType.TRUE: return GenericCast<bool, T>.Const(true)();
case MsgPackType.FALSE: return GenericCast<bool, T>.Const(false)();
case MsgPackType.POSITIVE_FIXNUM: return GenericCast<int, T>.Const(0)();
case MsgPackType.POSITIVE_FIXNUM_0x01: return GenericCast<int, T>.Const(1)();
case MsgPackType.POSITIVE_FIXNUM_0x02: return GenericCast<int, T>.Const(2)();
case MsgPackType.POSITIVE_FIXNUM_0x03: return GenericCast<int, T>.Const(3)();
case MsgPackType.POSITIVE_FIXNUM_0x04: return GenericCast<int, T>.Const(4)();
case MsgPackType.POSITIVE_FIXNUM_0x05: return GenericCast<int, T>.Const(5)();
case MsgPackType.POSITIVE_FIXNUM_0x06: return GenericCast<int, T>.Const(6)();
case MsgPackType.POSITIVE_FIXNUM_0x07: return GenericCast<int, T>.Const(7)();
case MsgPackType.POSITIVE_FIXNUM_0x08: return GenericCast<int, T>.Const(8)();
case MsgPackType.POSITIVE_FIXNUM_0x09: return GenericCast<int, T>.Const(9)();
case MsgPackType.POSITIVE_FIXNUM_0x0A: return GenericCast<int, T>.Const(10)();
case MsgPackType.POSITIVE_FIXNUM_0x0B: return GenericCast<int, T>.Const(11)();
case MsgPackType.POSITIVE_FIXNUM_0x0C: return GenericCast<int, T>.Const(12)();
case MsgPackType.POSITIVE_FIXNUM_0x0D: return GenericCast<int, T>.Const(13)();
case MsgPackType.POSITIVE_FIXNUM_0x0E: return GenericCast<int, T>.Const(14)();
case MsgPackType.POSITIVE_FIXNUM_0x0F: return GenericCast<int, T>.Const(15)();
case MsgPackType.POSITIVE_FIXNUM_0x10: return GenericCast<int, T>.Const(16)();
case MsgPackType.POSITIVE_FIXNUM_0x11: return GenericCast<int, T>.Const(17)();
case MsgPackType.POSITIVE_FIXNUM_0x12: return GenericCast<int, T>.Const(18)();
case MsgPackType.POSITIVE_FIXNUM_0x13: return GenericCast<int, T>.Const(19)();
case MsgPackType.POSITIVE_FIXNUM_0x14: return GenericCast<int, T>.Const(20)();
case MsgPackType.POSITIVE_FIXNUM_0x15: return GenericCast<int, T>.Const(21)();
case MsgPackType.POSITIVE_FIXNUM_0x16: return GenericCast<int, T>.Const(22)();
case MsgPackType.POSITIVE_FIXNUM_0x17: return GenericCast<int, T>.Const(23)();
case MsgPackType.POSITIVE_FIXNUM_0x18: return GenericCast<int, T>.Const(24)();
case MsgPackType.POSITIVE_FIXNUM_0x19: return GenericCast<int, T>.Const(25)();
case MsgPackType.POSITIVE_FIXNUM_0x1A: return GenericCast<int, T>.Const(26)();
case MsgPackType.POSITIVE_FIXNUM_0x1B: return GenericCast<int, T>.Const(27)();
case MsgPackType.POSITIVE_FIXNUM_0x1C: return GenericCast<int, T>.Const(28)();
case MsgPackType.POSITIVE_FIXNUM_0x1D: return GenericCast<int, T>.Const(29)();
case MsgPackType.POSITIVE_FIXNUM_0x1E: return GenericCast<int, T>.Const(30)();
case MsgPackType.POSITIVE_FIXNUM_0x1F: return GenericCast<int, T>.Const(31)();
case MsgPackType.POSITIVE_FIXNUM_0x20: return GenericCast<int, T>.Const(32)();
case MsgPackType.POSITIVE_FIXNUM_0x21: return GenericCast<int, T>.Const(33)();
case MsgPackType.POSITIVE_FIXNUM_0x22: return GenericCast<int, T>.Const(34)();
case MsgPackType.POSITIVE_FIXNUM_0x23: return GenericCast<int, T>.Const(35)();
case MsgPackType.POSITIVE_FIXNUM_0x24: return GenericCast<int, T>.Const(36)();
case MsgPackType.POSITIVE_FIXNUM_0x25: return GenericCast<int, T>.Const(37)();
case MsgPackType.POSITIVE_FIXNUM_0x26: return GenericCast<int, T>.Const(38)();
case MsgPackType.POSITIVE_FIXNUM_0x27: return GenericCast<int, T>.Const(39)();
case MsgPackType.POSITIVE_FIXNUM_0x28: return GenericCast<int, T>.Const(40)();
case MsgPackType.POSITIVE_FIXNUM_0x29: return GenericCast<int, T>.Const(41)();
case MsgPackType.POSITIVE_FIXNUM_0x2A: return GenericCast<int, T>.Const(42)();
case MsgPackType.POSITIVE_FIXNUM_0x2B: return GenericCast<int, T>.Const(43)();
case MsgPackType.POSITIVE_FIXNUM_0x2C: return GenericCast<int, T>.Const(44)();
case MsgPackType.POSITIVE_FIXNUM_0x2D: return GenericCast<int, T>.Const(45)();
case MsgPackType.POSITIVE_FIXNUM_0x2E: return GenericCast<int, T>.Const(46)();
case MsgPackType.POSITIVE_FIXNUM_0x2F: return GenericCast<int, T>.Const(47)();
case MsgPackType.POSITIVE_FIXNUM_0x30: return GenericCast<int, T>.Const(48)();
case MsgPackType.POSITIVE_FIXNUM_0x31: return GenericCast<int, T>.Const(49)();
case MsgPackType.POSITIVE_FIXNUM_0x32: return GenericCast<int, T>.Const(50)();
case MsgPackType.POSITIVE_FIXNUM_0x33: return GenericCast<int, T>.Const(51)();
case MsgPackType.POSITIVE_FIXNUM_0x34: return GenericCast<int, T>.Const(52)();
case MsgPackType.POSITIVE_FIXNUM_0x35: return GenericCast<int, T>.Const(53)();
case MsgPackType.POSITIVE_FIXNUM_0x36: return GenericCast<int, T>.Const(54)();
case MsgPackType.POSITIVE_FIXNUM_0x37: return GenericCast<int, T>.Const(55)();
case MsgPackType.POSITIVE_FIXNUM_0x38: return GenericCast<int, T>.Const(56)();
case MsgPackType.POSITIVE_FIXNUM_0x39: return GenericCast<int, T>.Const(57)();
case MsgPackType.POSITIVE_FIXNUM_0x3A: return GenericCast<int, T>.Const(58)();
case MsgPackType.POSITIVE_FIXNUM_0x3B: return GenericCast<int, T>.Const(59)();
case MsgPackType.POSITIVE_FIXNUM_0x3C: return GenericCast<int, T>.Const(60)();
case MsgPackType.POSITIVE_FIXNUM_0x3D: return GenericCast<int, T>.Const(61)();
case MsgPackType.POSITIVE_FIXNUM_0x3E: return GenericCast<int, T>.Const(62)();
case MsgPackType.POSITIVE_FIXNUM_0x3F: return GenericCast<int, T>.Const(63)();
case MsgPackType.POSITIVE_FIXNUM_0x40: return GenericCast<int, T>.Const(64)();
case MsgPackType.POSITIVE_FIXNUM_0x41: return GenericCast<int, T>.Const(65)();
case MsgPackType.POSITIVE_FIXNUM_0x42: return GenericCast<int, T>.Const(66)();
case MsgPackType.POSITIVE_FIXNUM_0x43: return GenericCast<int, T>.Const(67)();
case MsgPackType.POSITIVE_FIXNUM_0x44: return GenericCast<int, T>.Const(68)();
case MsgPackType.POSITIVE_FIXNUM_0x45: return GenericCast<int, T>.Const(69)();
case MsgPackType.POSITIVE_FIXNUM_0x46: return GenericCast<int, T>.Const(70)();
case MsgPackType.POSITIVE_FIXNUM_0x47: return GenericCast<int, T>.Const(71)();
case MsgPackType.POSITIVE_FIXNUM_0x48: return GenericCast<int, T>.Const(72)();
case MsgPackType.POSITIVE_FIXNUM_0x49: return GenericCast<int, T>.Const(73)();
case MsgPackType.POSITIVE_FIXNUM_0x4A: return GenericCast<int, T>.Const(74)();
case MsgPackType.POSITIVE_FIXNUM_0x4B: return GenericCast<int, T>.Const(75)();
case MsgPackType.POSITIVE_FIXNUM_0x4C: return GenericCast<int, T>.Const(76)();
case MsgPackType.POSITIVE_FIXNUM_0x4D: return GenericCast<int, T>.Const(77)();
case MsgPackType.POSITIVE_FIXNUM_0x4E: return GenericCast<int, T>.Const(78)();
case MsgPackType.POSITIVE_FIXNUM_0x4F: return GenericCast<int, T>.Const(79)();
case MsgPackType.POSITIVE_FIXNUM_0x50: return GenericCast<int, T>.Const(80)();
case MsgPackType.POSITIVE_FIXNUM_0x51: return GenericCast<int, T>.Const(81)();
case MsgPackType.POSITIVE_FIXNUM_0x52: return GenericCast<int, T>.Const(82)();
case MsgPackType.POSITIVE_FIXNUM_0x53: return GenericCast<int, T>.Const(83)();
case MsgPackType.POSITIVE_FIXNUM_0x54: return GenericCast<int, T>.Const(84)();
case MsgPackType.POSITIVE_FIXNUM_0x55: return GenericCast<int, T>.Const(85)();
case MsgPackType.POSITIVE_FIXNUM_0x56: return GenericCast<int, T>.Const(86)();
case MsgPackType.POSITIVE_FIXNUM_0x57: return GenericCast<int, T>.Const(87)();
case MsgPackType.POSITIVE_FIXNUM_0x58: return GenericCast<int, T>.Const(88)();
case MsgPackType.POSITIVE_FIXNUM_0x59: return GenericCast<int, T>.Const(89)();
case MsgPackType.POSITIVE_FIXNUM_0x5A: return GenericCast<int, T>.Const(90)();
case MsgPackType.POSITIVE_FIXNUM_0x5B: return GenericCast<int, T>.Const(91)();
case MsgPackType.POSITIVE_FIXNUM_0x5C: return GenericCast<int, T>.Const(92)();
case MsgPackType.POSITIVE_FIXNUM_0x5D: return GenericCast<int, T>.Const(93)();
case MsgPackType.POSITIVE_FIXNUM_0x5E: return GenericCast<int, T>.Const(94)();
case MsgPackType.POSITIVE_FIXNUM_0x5F: return GenericCast<int, T>.Const(95)();
case MsgPackType.POSITIVE_FIXNUM_0x60: return GenericCast<int, T>.Const(96)();
case MsgPackType.POSITIVE_FIXNUM_0x61: return GenericCast<int, T>.Const(97)();
case MsgPackType.POSITIVE_FIXNUM_0x62: return GenericCast<int, T>.Const(98)();
case MsgPackType.POSITIVE_FIXNUM_0x63: return GenericCast<int, T>.Const(99)();
case MsgPackType.POSITIVE_FIXNUM_0x64: return GenericCast<int, T>.Const(100)();
case MsgPackType.POSITIVE_FIXNUM_0x65: return GenericCast<int, T>.Const(101)();
case MsgPackType.POSITIVE_FIXNUM_0x66: return GenericCast<int, T>.Const(102)();
case MsgPackType.POSITIVE_FIXNUM_0x67: return GenericCast<int, T>.Const(103)();
case MsgPackType.POSITIVE_FIXNUM_0x68: return GenericCast<int, T>.Const(104)();
case MsgPackType.POSITIVE_FIXNUM_0x69: return GenericCast<int, T>.Const(105)();
case MsgPackType.POSITIVE_FIXNUM_0x6A: return GenericCast<int, T>.Const(106)();
case MsgPackType.POSITIVE_FIXNUM_0x6B: return GenericCast<int, T>.Const(107)();
case MsgPackType.POSITIVE_FIXNUM_0x6C: return GenericCast<int, T>.Const(108)();
case MsgPackType.POSITIVE_FIXNUM_0x6D: return GenericCast<int, T>.Const(109)();
case MsgPackType.POSITIVE_FIXNUM_0x6E: return GenericCast<int, T>.Const(110)();
case MsgPackType.POSITIVE_FIXNUM_0x6F: return GenericCast<int, T>.Const(111)();
case MsgPackType.POSITIVE_FIXNUM_0x70: return GenericCast<int, T>.Const(112)();
case MsgPackType.POSITIVE_FIXNUM_0x71: return GenericCast<int, T>.Const(113)();
case MsgPackType.POSITIVE_FIXNUM_0x72: return GenericCast<int, T>.Const(114)();
case MsgPackType.POSITIVE_FIXNUM_0x73: return GenericCast<int, T>.Const(115)();
case MsgPackType.POSITIVE_FIXNUM_0x74: return GenericCast<int, T>.Const(116)();
case MsgPackType.POSITIVE_FIXNUM_0x75: return GenericCast<int, T>.Const(117)();
case MsgPackType.POSITIVE_FIXNUM_0x76: return GenericCast<int, T>.Const(118)();
case MsgPackType.POSITIVE_FIXNUM_0x77: return GenericCast<int, T>.Const(119)();
case MsgPackType.POSITIVE_FIXNUM_0x78: return GenericCast<int, T>.Const(120)();
case MsgPackType.POSITIVE_FIXNUM_0x79: return GenericCast<int, T>.Const(121)();
case MsgPackType.POSITIVE_FIXNUM_0x7A: return GenericCast<int, T>.Const(122)();
case MsgPackType.POSITIVE_FIXNUM_0x7B: return GenericCast<int, T>.Const(123)();
case MsgPackType.POSITIVE_FIXNUM_0x7C: return GenericCast<int, T>.Const(124)();
case MsgPackType.POSITIVE_FIXNUM_0x7D: return GenericCast<int, T>.Const(125)();
case MsgPackType.POSITIVE_FIXNUM_0x7E: return GenericCast<int, T>.Const(126)();
case MsgPackType.POSITIVE_FIXNUM_0x7F: return GenericCast<int, T>.Const(127)();
case MsgPackType.NEGATIVE_FIXNUM: return GenericCast<int, T>.Const(-32)();
case MsgPackType.NEGATIVE_FIXNUM_0x01: return GenericCast<int, T>.Const(-1)();
case MsgPackType.NEGATIVE_FIXNUM_0x02: return GenericCast<int, T>.Const(-2)();
case MsgPackType.NEGATIVE_FIXNUM_0x03: return GenericCast<int, T>.Const(-3)();
case MsgPackType.NEGATIVE_FIXNUM_0x04: return GenericCast<int, T>.Const(-4)();
case MsgPackType.NEGATIVE_FIXNUM_0x05: return GenericCast<int, T>.Const(-5)();
case MsgPackType.NEGATIVE_FIXNUM_0x06: return GenericCast<int, T>.Const(-6)();
case MsgPackType.NEGATIVE_FIXNUM_0x07: return GenericCast<int, T>.Const(-7)();
case MsgPackType.NEGATIVE_FIXNUM_0x08: return GenericCast<int, T>.Const(-8)();
case MsgPackType.NEGATIVE_FIXNUM_0x09: return GenericCast<int, T>.Const(-9)();
case MsgPackType.NEGATIVE_FIXNUM_0x0A: return GenericCast<int, T>.Const(-10)();
case MsgPackType.NEGATIVE_FIXNUM_0x0B: return GenericCast<int, T>.Const(-11)();
case MsgPackType.NEGATIVE_FIXNUM_0x0C: return GenericCast<int, T>.Const(-12)();
case MsgPackType.NEGATIVE_FIXNUM_0x0D: return GenericCast<int, T>.Const(-13)();
case MsgPackType.NEGATIVE_FIXNUM_0x0E: return GenericCast<int, T>.Const(-14)();
case MsgPackType.NEGATIVE_FIXNUM_0x0F: return GenericCast<int, T>.Const(-15)();
case MsgPackType.NEGATIVE_FIXNUM_0x10: return GenericCast<int, T>.Const(-16)();
case MsgPackType.NEGATIVE_FIXNUM_0x11: return GenericCast<int, T>.Const(-17)();
case MsgPackType.NEGATIVE_FIXNUM_0x12: return GenericCast<int, T>.Const(-18)();
case MsgPackType.NEGATIVE_FIXNUM_0x13: return GenericCast<int, T>.Const(-19)();
case MsgPackType.NEGATIVE_FIXNUM_0x14: return GenericCast<int, T>.Const(-20)();
case MsgPackType.NEGATIVE_FIXNUM_0x15: return GenericCast<int, T>.Const(-21)();
case MsgPackType.NEGATIVE_FIXNUM_0x16: return GenericCast<int, T>.Const(-22)();
case MsgPackType.NEGATIVE_FIXNUM_0x17: return GenericCast<int, T>.Const(-23)();
case MsgPackType.NEGATIVE_FIXNUM_0x18: return GenericCast<int, T>.Const(-24)();
case MsgPackType.NEGATIVE_FIXNUM_0x19: return GenericCast<int, T>.Const(-25)();
case MsgPackType.NEGATIVE_FIXNUM_0x1A: return GenericCast<int, T>.Const(-26)();
case MsgPackType.NEGATIVE_FIXNUM_0x1B: return GenericCast<int, T>.Const(-27)();
case MsgPackType.NEGATIVE_FIXNUM_0x1C: return GenericCast<int, T>.Const(-28)();
case MsgPackType.NEGATIVE_FIXNUM_0x1D: return GenericCast<int, T>.Const(-29)();
case MsgPackType.NEGATIVE_FIXNUM_0x1E: return GenericCast<int, T>.Const(-30)();
case MsgPackType.NEGATIVE_FIXNUM_0x1F: return GenericCast<int, T>.Const(-31)();
case MsgPackType.INT8: return GenericCast<SByte, T>.Cast((SByte)GetBody().Get(0));
case MsgPackType.INT16: return GenericCast<short, T>.Cast(EndianConverter.NetworkByteWordToSignedNativeByteOrder(GetBody()));
case MsgPackType.INT32: return GenericCast<int, T>.Cast(EndianConverter.NetworkByteDWordToSignedNativeByteOrder(GetBody()));
case MsgPackType.INT64: return GenericCast<long, T>.Cast(EndianConverter.NetworkByteQWordToSignedNativeByteOrder(GetBody()));
case MsgPackType.UINT8: return GenericCast<Byte, T>.Cast(GetBody().Get(0));
case MsgPackType.UINT16: return GenericCast<ushort, T>.Cast(EndianConverter.NetworkByteWordToUnsignedNativeByteOrder(GetBody()));
case MsgPackType.UINT32: return GenericCast<uint, T>.Cast(EndianConverter.NetworkByteDWordToUnsignedNativeByteOrder(GetBody()));
case MsgPackType.UINT64: return GenericCast<ulong, T>.Cast(EndianConverter.NetworkByteQWordToUnsignedNativeByteOrder(GetBody()));
case MsgPackType.FLOAT: return GenericCast<float, T>.Cast(EndianConverter.NetworkByteDWordToFloatNativeByteOrder(GetBody()));
case MsgPackType.DOUBLE: return GenericCast<double, T>.Cast(EndianConverter.NetworkByteQWordToFloatNativeByteOrder(GetBody()));
case MsgPackType.FIX_STR: return GenericCast<string, T>.Const("")();
case MsgPackType.FIX_STR_0x01:
case MsgPackType.FIX_STR_0x02:
case MsgPackType.FIX_STR_0x03:
case MsgPackType.FIX_STR_0x04:
case MsgPackType.FIX_STR_0x05:
case MsgPackType.FIX_STR_0x06:
case MsgPackType.FIX_STR_0x07:
case MsgPackType.FIX_STR_0x08:
case MsgPackType.FIX_STR_0x09:
case MsgPackType.FIX_STR_0x0A:
case MsgPackType.FIX_STR_0x0B:
case MsgPackType.FIX_STR_0x0C:
case MsgPackType.FIX_STR_0x0D:
case MsgPackType.FIX_STR_0x0E:
case MsgPackType.FIX_STR_0x0F:
case MsgPackType.FIX_STR_0x10:
case MsgPackType.FIX_STR_0x11:
case MsgPackType.FIX_STR_0x12:
case MsgPackType.FIX_STR_0x13:
case MsgPackType.FIX_STR_0x14:
case MsgPackType.FIX_STR_0x15:
case MsgPackType.FIX_STR_0x16:
case MsgPackType.FIX_STR_0x17:
case MsgPackType.FIX_STR_0x18:
case MsgPackType.FIX_STR_0x19:
case MsgPackType.FIX_STR_0x1A:
case MsgPackType.FIX_STR_0x1B:
case MsgPackType.FIX_STR_0x1C:
case MsgPackType.FIX_STR_0x1D:
case MsgPackType.FIX_STR_0x1E:
case MsgPackType.FIX_STR_0x1F:
case MsgPackType.STR8:
case MsgPackType.STR16:
case MsgPackType.STR32:
{
var body = GetBody();
var str = Encoding.UTF8.GetString(body.Array, body.Offset, body.Count);
return GenericCast<string, T>.Cast(str);
}
case MsgPackType.BIN8:
case MsgPackType.BIN16:
case MsgPackType.BIN32:
{
var body = GetBody();
return GenericCast<ArraySegment<Byte>, T>.Cast(body);
}
case MsgPackType.FIX_EXT_4:
{
if (GetExtType() == -1)
{
var unixtime = EndianConverter.NetworkByteDWordToUnsignedNativeByteOrder(GetBody());
var dt = new DateTimeOffset(unixtime * DateTimeOffsetExtensions.TicksPerSecond + DateTimeOffsetExtensions.EpochTime.Ticks, TimeSpan.Zero);
return GenericCast<DateTimeOffset, T>.Cast(dt);
}
break;
}
}
throw new ArgumentException("GetValue to array or map: " + formatType);
}
public bool GetBoolean()
{
switch (Format)
{
case MsgPackType.TRUE: return true;
case MsgPackType.FALSE: return false;
default: throw new MsgPackTypeException("Not boolean");
}
}
public ArraySegment<Byte> GetBytes()
{
if (!Format.IsBinary())
{
throw new MsgPackTypeException("Not bin");
}
return GetBody();
}
public string GetString()
{
if (!Format.IsString())
{
throw new MsgPackTypeException("Not str");
}
var bytes = GetBody();
return Encoding.UTF8.GetString(bytes.Array, bytes.Offset, bytes.Count);
}
public Utf8String GetUtf8String()
{
if (!Format.IsString())
{
throw new MsgPackTypeException("Not str");
}
var bytes = GetBody();
return new Utf8String(bytes);
}
public SByte GetSByte()
{
return GetValue<SByte>();
}
public Int16 GetInt16()
{
return GetValue<Int16>();
}
public Int32 GetInt32()
{
return GetValue<Int32>();
}
public Int64 GetInt64()
{
return GetValue<Int64>();
}
public Byte GetByte()
{
return GetValue<Byte>();
}
public UInt16 GetUInt16()
{
return GetValue<UInt16>();
}
public UInt32 GetUInt32()
{
return GetValue<UInt32>();
}
public UInt64 GetUInt64()
{
return GetValue<UInt64>();
}
public float GetSingle()
{
return GetValue<Single>();
}
public double GetDouble()
{
return GetValue<Double>();
}
public void SetValue<T>(Utf8String jsonPointer, T value)
{
throw new NotImplementedException();
}
public void RemoveValue(Utf8String jsonPointer)
{
throw new NotImplementedException();
}
public void AddKey(Utf8String key)
{
throw new NotImplementedException();
}
public void AddValue(ArraySegment<byte> bytes, ValueNodeType valueType)
{
throw new NotImplementedException();
}
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: e201eb676758d5d419ae0629fda171ac
timeCreated: 1540904080
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 69e0a1360efdf0a4093b010d322bc05a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,185 +0,0 @@
using System;
using System.Collections.Generic;
namespace UniJSON
{
public static class TomlParser
{
static TomlValue ParseLHS(Utf8String segment, int parentIndex)
{
var it = segment.GetIterator();
while (it.MoveNext())
{
if (it.Current == '"')
{
throw new NotImplementedException();
}
else if (it.Current == '.')
{
throw new NotImplementedException();
}
else if (it.Current == ' ' || it.Current == '\t' || it.Current == '=')
{
return new TomlValue(segment.Subbytes(0, it.BytePosition),
TomlValueType.BareKey, parentIndex);
}
}
throw new NotImplementedException();
}
static TomlValue ParseRHS(Utf8String segment, int parentIndex)
{
switch ((char)segment[0])
{
case '+':
case '-':
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
if (segment.IsInt)
{
return new TomlValue(segment.SplitInteger(), TomlValueType.Integer, parentIndex);
}
else
{
return new TomlValue(segment, TomlValueType.Float, parentIndex);
}
case '"':
{
int pos;
if (segment.TrySearchAscii((Byte)'"', 1, out pos))
{
return new TomlValue(segment.Subbytes(0, pos + 1), TomlValueType.BasicString, parentIndex);
}
else
{
throw new ParserException("no close string: " + segment);
}
}
case '[':
{
throw new NotImplementedException();
}
}
throw new NotImplementedException();
}
public static ListTreeNode<TomlValue> Parse(Utf8String segment)
{
var values = new List<TomlValue>()
{
new TomlValue(segment, TomlValueType.Table, -1),
};
var current = 0;
while (!segment.IsEmpty)
{
segment = segment.TrimStart();
if (segment.IsEmpty)
{
break;
}
if (segment[0] == '#')
{
// comment line
// skip to line end
segment = segment.Subbytes(segment.GetLine().ByteLength);
continue;
}
if (segment.ByteLength>=4 && segment[0]=='[' && segment[1]=='[')
{
// [[array_name]]
throw new NotImplementedException();
}
else if (segment.ByteLength>=2 && segment[0]=='[')
{
// [table_name]
int table_end;
if (!segment.TrySearchByte(x => x == ']', out table_end))
{
throw new ParserException("] not found");
}
var table_name = segment.Subbytes(1, table_end-1).Trim();
if (table_name.IsEmpty)
{
throw new ParserException("empty table name");
}
// top level key
values.Add(new TomlValue(table_name, TomlValueType.Table, 0));
current = values.Count - 1;
// skip to line end
segment = segment.Subbytes(segment.GetLine().ByteLength);
}
else
{
// key = value
{
var key = ParseLHS(segment, current);
switch(key.TomlValueType)
{
case TomlValueType.BareKey:
case TomlValueType.QuotedKey:
{
values.Add(key);
// skip key
segment = segment.Subbytes(key.Bytes.Count);
}
break;
case TomlValueType.DottedKey:
throw new NotImplementedException();
}
}
{
// search and skip =
int eq;
if (!segment.TrySearchByte(x => x == '=', out eq))
{
throw new ParserException("= not found");
}
segment = segment.Subbytes(eq + 1);
// skip white space
segment = segment.TrimStart();
}
{
var value = ParseRHS(segment, current);
values.Add(value);
// skip value
segment = segment.Subbytes(value.Bytes.Count);
// skip to line end
segment = segment.Subbytes(segment.GetLine().ByteLength);
}
}
}
return new ListTreeNode<TomlValue>(values);
}
public static ListTreeNode<TomlValue> Parse(String Toml)
{
return Parse(Utf8String.From(Toml));
}
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 3fcee2cba67aa504a9385323813c07df
timeCreated: 1545735557
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,171 +0,0 @@
using System;
namespace UniJSON
{
public enum TomlValueType
{
BareKey, // key
QuotedKey, // "key"
DottedKey, // key.nested
BasicString, // "str"
MultilineBasicString, // """str"""
LiteralString, // 'str'
MultilineLiteralString, // '''str'''
Integer,
Float,
Boolean,
OffsetDatetime,
Array, // [1, 2, 3]
Table, // [table_name]
}
public struct TomlValue : IListTreeItem, IValue<TomlValue>
{
public override string ToString()
{
return m_segment.ToString();
}
public int ParentIndex { get; private set; }
public TomlValueType TomlValueType
{
get;
private set;
}
public ValueNodeType ValueType
{
get
{
switch (TomlValueType)
{
case TomlValueType.Integer: return ValueNodeType.Integer;
case TomlValueType.Float: return ValueNodeType.Number;
case TomlValueType.Boolean: return ValueNodeType.Boolean;
case TomlValueType.BareKey: return ValueNodeType.String;
case TomlValueType.QuotedKey: return ValueNodeType.String;
case TomlValueType.DottedKey: return ValueNodeType.String;
case TomlValueType.BasicString: return ValueNodeType.String;
case TomlValueType.MultilineBasicString: return ValueNodeType.String;
case TomlValueType.LiteralString: return ValueNodeType.String;
case TomlValueType.MultilineLiteralString: return ValueNodeType.String;
case TomlValueType.Table: return ValueNodeType.Object;
case TomlValueType.Array: return ValueNodeType.Array;
}
throw new NotImplementedException();
}
}
Utf8String m_segment;
public ArraySegment<byte> Bytes { get { return m_segment.Bytes; } }
public void SetBytesCount(int count)
{
throw new NotImplementedException();
}
public int ChildCount
{
get
{
throw new NotImplementedException();
}
}
public void SetChildCount(int count)
{
throw new NotImplementedException();
}
public TomlValue(Utf8String segment, TomlValueType valueType, int parentIndex) : this()
{
ParentIndex = parentIndex;
TomlValueType = valueType;
m_segment = segment;
}
public bool GetBoolean()
{
throw new NotImplementedException();
}
public byte GetByte()
{
throw new NotImplementedException();
}
public double GetDouble()
{
throw new NotImplementedException();
}
public short GetInt16()
{
throw new NotImplementedException();
}
public int GetInt32()
{
return m_segment.ToInt32();
}
public long GetInt64()
{
throw new NotImplementedException();
}
public sbyte GetSByte()
{
throw new NotImplementedException();
}
public float GetSingle()
{
throw new NotImplementedException();
}
public string GetString()
{
throw new NotImplementedException();
}
public ushort GetUInt16()
{
throw new NotImplementedException();
}
public uint GetUInt32()
{
throw new NotImplementedException();
}
public ulong GetUInt64()
{
throw new NotImplementedException();
}
public Utf8String GetUtf8String()
{
return m_segment;
}
public U GetValue<U>()
{
throw new NotImplementedException();
}
public TomlValue Key(Utf8String key, int parentIndex)
{
throw new NotImplementedException();
}
public TomlValue New(ArraySegment<byte> bytes, ValueNodeType valueType, int parentIndex)
{
throw new NotImplementedException();
}
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: e62dc750f570d764ab8c88742ceaa383
timeCreated: 1545735558
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: a6fe9c2c8212b42459b037f4181cd3ae
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,92 +0,0 @@
using NUnit.Framework;
using System;
using System.Linq;
namespace UniJSON.MsgPack
{
[TestFixture]
public class ArrayTest
{
[Test]
public void fix_array()
{
var f = new MsgPackFormatter();
// Object[] not supported
f.Serialize(new[] { 0, 1, false, (Object)null });
var _bytes = f.GetStoreBytes();
var bytes = _bytes.Array.Skip(_bytes.Offset).Take(_bytes.Count).ToArray();
Assert.AreEqual(new Byte[]{
(Byte)MsgPackType.FIX_ARRAY_0x4,
(Byte)MsgPackType.POSITIVE_FIXNUM,
(Byte)MsgPackType.POSITIVE_FIXNUM_0x01,
(Byte)MsgPackType.FALSE,
(Byte)MsgPackType.NIL
}, bytes);
var parsed = MsgPackParser.Parse(bytes);
Assert.AreEqual(4, parsed.GetArrayCount());
Assert.AreEqual(0, parsed[0].GetValue());
Assert.AreEqual(1, parsed[1].GetValue());
Assert.False((Boolean)parsed[2].GetValue());
Assert.AreEqual(null, parsed[3].GetValue());
}
[Test]
public void array16()
{
var f = new MsgPackFormatter();
var data = Enumerable.Range(0, 20).Select(x => (Object)x).ToArray();
f.Serialize(data);
var bytes = f.GetStoreBytes();
var value = MsgPackParser.Parse(bytes);
Assert.IsTrue(value.IsArray());
Assert.AreEqual(20, value.GetArrayCount());
for (int i = 0; i < 20; ++i)
{
Assert.AreEqual(i, value[i].GetValue());
}
}
[Test]
public void array129()
{
{
var i128 = Enumerable.Range(0, 128).ToArray();
var f = new MsgPackFormatter();
f.Serialize(i128);
var bytes128 = f.GetStoreBytes();
var deserialized = MsgPackParser.Parse(bytes128);
Assert.AreEqual(128, deserialized.GetArrayCount());
for (int i = 0; i < i128.Length; ++i)
{
Assert.AreEqual(i128[i], deserialized[i].GetValue());
}
}
{
var i129 = Enumerable.Range(0, 129).ToArray();
var f = new MsgPackFormatter();
f.Serialize(i129);
var bytes129 = f.GetStoreBytes();
var deserialized = MsgPackParser.Parse(bytes129);
Assert.AreEqual(129, deserialized.GetArrayCount());
for (int i = 0; i < i129.Length; ++i)
{
Assert.AreEqual(i129[i], deserialized[i].GetValue());
}
}
}
[Test]
public void ReadTest()
{
var data = new int[] { -108, 0, 1, -90, 108, 111, 103, 103, 101, 114, -110, -91, 69, 114, 114, 111, 114, -94, 101, 50 }
.Select(x => (Byte)x).ToArray();
var parsed = MsgPackParser.Parse(data);
Assert.True(parsed.IsArray());
}
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 4b485b0360ebfd246ac90bbe8ad1895b
timeCreated: 1540812276
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,50 +0,0 @@
using NUnit.Framework;
using System;
namespace UniJSON.MsgPack
{
[TestFixture]
public class BooleanTest
{
[Test]
public void nil()
{
{
var f = new MsgPackFormatter();
f.Null();
var bytes = f.GetStoreBytes();
Assert.AreEqual(new Byte[] { 0xC0 }, bytes.ToEnumerable());
var parsed = MsgPackParser.Parse(bytes);
Assert.True(parsed.IsNull());
}
}
[Test]
public void True()
{
var f = new MsgPackFormatter();
f.Value(true);
var bytes = f.GetStoreBytes();
Assert.AreEqual(new Byte[] { 0xC3 }, bytes.ToEnumerable());
var value = MsgPackParser.Parse(bytes);
var j = value.GetBoolean();
Assert.AreEqual(true, j);
}
[Test]
public void False()
{
var f = new MsgPackFormatter();
f.Value(false);
var bytes = f.GetStoreBytes();
Assert.AreEqual(new Byte[] { 0xC2 }, bytes.ToEnumerable());
var value = MsgPackParser.Parse(bytes);
var j = value.GetBoolean();
Assert.AreEqual(false, j);
}
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: d0f19e48b365cd446982ed0b7ba6251e
timeCreated: 1540812276
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,50 +0,0 @@
using NUnit.Framework;
using System;
using System.Linq;
namespace UniJSON.MsgPack
{
[TestFixture]
public class FloatTest
{
[Test]
public void Float32()
{
var i = 1.1f;
var float_be = new byte[]
{
(Byte)MsgPackType.FLOAT, 0x3f, 0x8c, 0xcc, 0xcd
};
var f = new MsgPackFormatter();
f.Value(i);
var bytes = f.GetStoreBytes();
var value = MsgPackParser.Parse(bytes);
var body = value.Value.Bytes;
Assert.AreEqual(float_be, body.ToEnumerable().ToArray());
Assert.AreEqual(i, value.GetValue());
}
[Test]
public void Float64()
{
var i = 1.1;
var double_be = new Byte[]{
(Byte)MsgPackType.DOUBLE, 0x3f, 0xf1, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9a,
};
var f = new MsgPackFormatter();
f.Value(i);
var bytes = f.GetStoreBytes();
var value = MsgPackParser.Parse(bytes);
var body = value.Value.Bytes;
Assert.AreEqual(double_be, body.ToEnumerable().ToArray());
Assert.AreEqual(i, value.GetValue());
}
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 51cdc6be3b73a34429cae41cd020c71c
timeCreated: 1540812276
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,220 +0,0 @@
using NUnit.Framework;
using System;
namespace UniJSON.MsgPack
{
[TestFixture]
public class IntTest
{
[Test]
public void positive_fixnum()
{
for (Byte i = 0; i < 128; ++i)
{
var f = new MsgPackFormatter();
f.Value(i);
var bytes = f.GetStoreBytes();
Assert.AreEqual(new Byte[] { i }, bytes.ToEnumerable());
var j = MsgPackParser.Parse(bytes).GetValue();
Assert.AreEqual(i, j);
}
}
[Test]
public void negative_fixnum()
{
for (SByte i = -32; i < 0; ++i)
{
var f = new MsgPackFormatter();
f.Value(i);
var bytes = f.GetStoreBytes();
var j = MsgPackParser.Parse(bytes).GetValue();
Assert.AreEqual(i, j);
}
}
[Test]
public void uint8()
{
{
Byte i = 0x7F + 20;
var f = new MsgPackFormatter();
f.Value(i);
var bytes = f.GetStoreBytes();
Assert.AreEqual(new Byte[]{
0xcc, 0x93,
}, bytes.ToEnumerable());
var j = MsgPackParser.Parse(bytes).GetValue();
Assert.AreEqual(i, j);
}
}
[Test]
public void cast_large_type()
{
{
Byte i = 0x7F + 20;
var f = new MsgPackFormatter();
f.Value(i);
var bytes = f.GetStoreBytes();
Assert.AreEqual(new Byte[]{
0xcc, 0x93,
}, bytes.ToEnumerable());
var j = MsgPackParser.Parse(bytes).GetValue();
Assert.AreEqual(i, j);
}
}
[Test]
public void uint16()
{
{
UInt16 i = 0xFF + 20;
var f = new MsgPackFormatter();
f.Value(i);
var bytes = f.GetStoreBytes();
Assert.AreEqual(new Byte[]{
0xcd, 0x01, 0x13
}, bytes.ToEnumerable());
var j = MsgPackParser.Parse(bytes).GetValue();
Assert.AreEqual(i, j);
}
}
[Test]
public void uint32()
{
{
UInt32 i = 0xFFFF + 20;
var f = new MsgPackFormatter();
f.Value(i);
var bytes = f.GetStoreBytes();
Assert.AreEqual(new Byte[]{
0xce, 0x00, 0x01, 0x00, 0x13
}, bytes.ToEnumerable());
var j = MsgPackParser.Parse(bytes).GetValue();
Assert.AreEqual(i, j);
}
}
[Test]
public void uint64()
{
{
UInt64 i = 0xFFFFFFFF;
i += 20;
var f = new MsgPackFormatter();
f.Value(i);
var bytes = f.GetStoreBytes();
Assert.AreEqual(new Byte[]{
0xcf, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13
}, bytes.ToEnumerable());
var j = MsgPackParser.Parse(bytes).GetValue();
Assert.AreEqual(i, j);
}
}
[Test]
public void int8()
{
{
SByte i = -64;
var f = new MsgPackFormatter();
f.Value(i);
var bytes = f.GetStoreBytes();
Assert.AreEqual(new Byte[]{
0xd0, 0xc0,
}, bytes.ToEnumerable());
var j = MsgPackParser.Parse(bytes).GetValue();
Assert.AreEqual(i, j);
}
}
[Test]
public void int128Test()
{
int i = 128;
var f = new MsgPackFormatter();
f.Value(i);
var bytes = f.GetStoreBytes();
Assert.AreEqual(new Byte[]{
0xcc, 0x80,
}, bytes.ToEnumerable());
var j = MsgPackParser.Parse(bytes).GetValue();
Assert.AreEqual(i, j);
}
[Test]
public void int16()
{
{
Int16 i = -150;
var f = new MsgPackFormatter();
f.Value(i);
var bytes = f.GetStoreBytes();
Assert.AreEqual(new Byte[]{
0xd1, 0xFF, 0x6a
}, bytes.ToEnumerable());
var j = MsgPackParser.Parse(bytes).GetValue();
Assert.AreEqual(i, j);
}
}
[Test]
public void int32()
{
{
Int32 i = -35000;
var f = new MsgPackFormatter();
f.Value(i);
var bytes = f.GetStoreBytes();
Assert.AreEqual(new Byte[]{
0xd2, 0xff, 0xff, 0x77, 0x48
}, bytes.ToEnumerable());
var j = MsgPackParser.Parse(bytes).GetValue();
Assert.AreEqual(i, j);
}
}
[Test]
public void int64()
{
{
Int64 i = -2147483650;
var f = new MsgPackFormatter();
f.Value(i);
var bytes = f.GetStoreBytes();
Assert.AreEqual(new Byte[]{
0xd3, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xfe
}, bytes.ToEnumerable());
var j = MsgPackParser.Parse(bytes).GetValue();
Assert.AreEqual(i, j);
}
}
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 8d6f5e40bc0825b449887d877c0ad5c5
timeCreated: 1540812276
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,120 +0,0 @@
using NUnit.Framework;
using System;
using System.IO;
using System.Linq;
namespace UniJSON.MsgPack
{
[TestFixture]
public class MapTest
{
[Test]
public void fix_map()
{
var f = new MsgPackFormatter();
f.BeginMap(2);
f.Key("0"); f.Value(1);
f.Key("2"); f.Value(3);
f.EndMap();
var bytes =
f.GetStoreBytes();
;
Assert.AreEqual(new Byte[]{
0x82, // map2
0xa1, 0x30, // "0"
0x01, // 1
0xa1, 0x32, // "2"
0x03 // 3
}, bytes.ToEnumerable());
var value = MsgPackParser.Parse(bytes);
Assert.AreEqual(2, value.GetObjectCount());
Assert.AreEqual(1, value["0"].GetValue());
Assert.AreEqual(3, value["2"].GetValue());
}
[Test]
public void map16()
{
var w = new MsgPackFormatter();
int size = 18;
w.BeginMap(size);
for (int i = 0; i < size; ++i)
{
w.Value(i.ToString());
w.Value(i + 5);
}
var bytes = w.GetStoreBytes().ToEnumerable().ToArray();
var expected = new Byte[]{
0xde, // map18
0x0, 0x12, // 18
0xa1, 0x30, // "0"
0x5,
0xa1, 0x31, // "1"
0x6,
0xa1, 0x32, // "2"
0x7,
0xa1, 0x33, // "3"
0x8,
0xa1, 0x34, // "4"
0x9,
0xa1, 0x35, // "5"
0xa,
0xa1, 0x36, // "6"
0xb,
0xa1, 0x37, // "7"
0xc,
0xa1, 0x38, // "8"
0xd,
0xa1, 0x39, // "9"
0xe,
0xa2, 0x31, 0x30, // "10"
0xf,
0xa2, 0x31, 0x31, // "11"
0x10,
0xa2, 0x31, 0x32, // "12"
0x11,
0xa2, 0x31, 0x33, // "13"
0x12,
0xa2, 0x31, 0x34, // "14"
0x13,
0xa2, 0x31, 0x35, // "15"
0x14,
0xa2, 0x31, 0x36, // "16"
0x15,
0xa2, 0x31, 0x37, // "17",
0x16
};
Assert.AreEqual(expected, bytes);
var value = MsgPackParser.Parse(bytes);
Assert.AreEqual(15, value["10"].GetValue());
}
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 87a626e93589db14fbe4526c9880b110
timeCreated: 1540812276
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,34 +0,0 @@
using NUnit.Framework;
using System;
using System.Linq;
namespace UniJSON.MsgPack
{
[TestFixture]
public class RawTest
{
[Test]
public void fix_raw()
{
var src = new Byte[] { 0, 1, 2 };
var f = new MsgPackFormatter();
f.Value(src);
var bytes = f.GetStoreBytes();
var v = MsgPackParser.Parse(bytes).Value.GetBody();
Assert.True(src.SequenceEqual(v.ToEnumerable()));
}
[Test]
public void raw16()
{
var src = Enumerable.Range(0, 50).Select(x => (Byte)x).ToArray();
var f = new MsgPackFormatter();
f.Value(src);
var bytes = f.GetStoreBytes();
var v = MsgPackParser.Parse(bytes).Value.GetBody();
Assert.True(src.SequenceEqual(v.ToEnumerable()));
}
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 331bd613923afe5438ef4ff3a59fc5b3
timeCreated: 1540812276
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,36 +0,0 @@
using NUnit.Framework;
using System;
using System.Linq;
namespace UniJSON.MsgPack
{
[TestFixture]
public class StringTest
{
[Test]
public void str()
{
var f = new MsgPackFormatter();
f.Value("文字列");
var bytes = f.GetStoreBytes();
var v = MsgPackParser.Parse(bytes).GetValue();
Assert.AreEqual("文字列", v);
}
[Test]
public void fix_str()
{
for (int i = 1; i < 32; ++i)
{
var str = String.Join("", Enumerable.Range(0, i).Select(_ => "0").ToArray());
var f = new MsgPackFormatter();
f.Value(str);
var bytes = f.GetStoreBytes();
var value = MsgPackParser.Parse(bytes);
Assert.AreEqual(i, ((String)value.GetValue()).Length);
}
}
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 3942810073614d946a76d87cbbfb222c
timeCreated: 1540812276
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,50 +0,0 @@
using NUnit.Framework;
using System;
namespace UniJSON.MsgPack
{
public class TimeTests
{
[Test]
public void TimeTest()
{
var f = new MsgPackFormatter();
{
f.GetStore().Clear();
var time = new DateTimeOffset(1970, 1, 1, 0, 0, 0, 0, TimeSpan.Zero);
f.Value(time);
var bytes = f.GetStoreBytes().ArrayOrCopy();
unchecked
{
Assert.AreEqual(new byte[]
{
(byte)MsgPackType.FIX_EXT_4, (byte)-1, 0, 0, 0, 0
}, bytes);
}
var parsed = MsgPackParser.Parse(bytes).GetValue();
Assert.AreEqual(time, parsed);
}
{
var time = new DateTimeOffset(2018, 12, 8, 2, 12, 15, TimeSpan.Zero);
Assert.AreEqual(1544235135, time.ToUnixTimeSeconds());
f.GetStore().Clear();
f.Value(time);
var bytes = f.GetStoreBytes().ArrayOrCopy();
var parsed = MsgPackParser.Parse(bytes).GetValue();
Assert.AreEqual(time, parsed);
}
{
f.GetStore().Clear();
Assert.Catch(() =>
{
f.Value(new DateTimeOffset());
});
}
}
}
}

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 0a025b475357b4d4aa104e839e6791be
timeCreated: 1544154226
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 8536361e247bd4b408d82604d3b16a10
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,128 +0,0 @@
using NUnit.Framework;
/*
namespace UniJSON.Toml
{
class TomlParserTests
{
[Test]
public void BareKeyTests()
{
{
var result = TomlParser.Parse(@"
value = 1
");
Assert.True(result.IsMap());
Assert.AreEqual(1, result["value"].GetInt32());
}
}
[Test]
public void DottedKeyTests()
{
{
var result = TomlParser.Parse(@"
value.value2 = 1
");
Assert.True(result.IsMap());
Assert.AreEqual(1, result["value"]["value2"].GetInt32());
}
}
[Test]
public void DuplicatedKey()
{
{
Assert.Catch(() => TomlParser.Parse(@"
value = 1
value = 2
"));
}
}
[Test]
public void QuotedKeyTests()
{
{
var result = TomlParser.Parse(@"
""value"" = 1
");
Assert.True(result.IsMap());
Assert.AreEqual(1, result["value"].GetInt32());
}
{
var result = TomlParser.Parse(@"
""[key=value]"" = 1
");
Assert.True(result.IsMap());
Assert.AreEqual(1, result["value"].GetInt32());
}
}
[Test]
public void TableTests()
{
{
var result = @"
[table]
value = 1
".ParseAsToml();
Assert.True(result.IsMap());
Assert.AreEqual(1, result["table"]["value"].GetInt32());
}
{
var result = @"
[table.table2]
value = 1
".ParseAsToml();
Assert.True(result.IsMap());
Assert.AreEqual(1, result["table"]["table2"]["value"].GetInt32());
}
}
[Test]
public void TomlExample()
{
var result = @"
# This is a TOML document.
title = ""TOML Example""
[owner]
name = ""Tom Preston-Werner""
dob = 1979 - 05 - 27T07: 32:00 - 08:00 # First class dates
[database]
server = ""192.168.1.1""
ports = [8001, 8001, 8002]
connection_max = 5000
enabled = true
[servers]
# Indentation (tabs and/or spaces) is allowed but not required
[servers.alpha]
ip = ""10.0.0.1""
dc = ""eqdc10""
[servers.beta]
ip = ""10.0.0.2""
dc = ""eqdc10""
[clients]
data = [ [""gamma"", ""delta""], [1, 2] ]
# Line breaks are OK when inside arrays
hosts = [
""alpha"",
""omega""
]
".ParseAsToml();
Assert.AreEqual("TOML Example", result["title"].GetString());
}
}
}
*/

View File

@@ -1,12 +0,0 @@
fileFormatVersion: 2
guid: 7959f4764f02c5e4d9f191e794bc6101
timeCreated: 1545735557
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: