1 using System;
2 using System.IO;
3 using ServiceStack.Text.Json;
4 
5 namespace ServiceStack.Text.Common
6 {
7 	internal interface ITypeSerializer
8 	{
9 		string TypeAttrInObject { get; }
10 
GetWriteFn()11 		WriteObjectDelegate GetWriteFn<T>();
GetWriteFn(Type type)12 		WriteObjectDelegate GetWriteFn(Type type);
GetTypeInfo(Type type)13 		TypeInfo GetTypeInfo(Type type);
14 
WriteRawString(TextWriter writer, string value)15 		void WriteRawString(TextWriter writer, string value);
WritePropertyName(TextWriter writer, string value)16 		void WritePropertyName(TextWriter writer, string value);
17 
WriteBuiltIn(TextWriter writer, object value)18 		void WriteBuiltIn(TextWriter writer, object value);
WriteObjectString(TextWriter writer, object value)19 		void WriteObjectString(TextWriter writer, object value);
WriteException(TextWriter writer, object value)20 		void WriteException(TextWriter writer, object value);
WriteString(TextWriter writer, string value)21 		void WriteString(TextWriter writer, string value);
WriteDateTime(TextWriter writer, object oDateTime)22 		void WriteDateTime(TextWriter writer, object oDateTime);
WriteNullableDateTime(TextWriter writer, object dateTime)23 		void WriteNullableDateTime(TextWriter writer, object dateTime);
WriteGuid(TextWriter writer, object oValue)24 		void WriteGuid(TextWriter writer, object oValue);
WriteNullableGuid(TextWriter writer, object oValue)25 		void WriteNullableGuid(TextWriter writer, object oValue);
WriteBytes(TextWriter writer, object oByteValue)26 		void WriteBytes(TextWriter writer, object oByteValue);
WriteChar(TextWriter writer, object charValue)27 		void WriteChar(TextWriter writer, object charValue);
WriteByte(TextWriter writer, object byteValue)28 		void WriteByte(TextWriter writer, object byteValue);
WriteInt16(TextWriter writer, object intValue)29 		void WriteInt16(TextWriter writer, object intValue);
WriteUInt16(TextWriter writer, object intValue)30 		void WriteUInt16(TextWriter writer, object intValue);
WriteInt32(TextWriter writer, object intValue)31 		void WriteInt32(TextWriter writer, object intValue);
WriteUInt32(TextWriter writer, object uintValue)32 		void WriteUInt32(TextWriter writer, object uintValue);
WriteInt64(TextWriter writer, object longValue)33 		void WriteInt64(TextWriter writer, object longValue);
WriteUInt64(TextWriter writer, object ulongValue)34 		void WriteUInt64(TextWriter writer, object ulongValue);
WriteBool(TextWriter writer, object boolValue)35 		void WriteBool(TextWriter writer, object boolValue);
WriteFloat(TextWriter writer, object floatValue)36 		void WriteFloat(TextWriter writer, object floatValue);
WriteDouble(TextWriter writer, object doubleValue)37 		void WriteDouble(TextWriter writer, object doubleValue);
WriteDecimal(TextWriter writer, object decimalValue)38         void WriteDecimal(TextWriter writer, object decimalValue);
WriteEnum(TextWriter writer, object enumValue)39         void WriteEnum(TextWriter writer, object enumValue);
WriteEnumFlags(TextWriter writer, object enumFlagValue)40         void WriteEnumFlags(TextWriter writer, object enumFlagValue);
WriteLinqBinary(TextWriter writer, object linqBinaryValue)41 		void WriteLinqBinary(TextWriter writer, object linqBinaryValue);
42 
43 		//object EncodeMapKey(object value);
44 
GetParseFn()45 		ParseStringDelegate GetParseFn<T>();
GetParseFn(Type type)46 		ParseStringDelegate GetParseFn(Type type);
47 
ParseRawString(string value)48 		string ParseRawString(string value);
ParseString(string value)49 		string ParseString(string value);
EatTypeValue(string value, ref int i)50 		string EatTypeValue(string value, ref int i);
EatMapStartChar(string value, ref int i)51 		bool EatMapStartChar(string value, ref int i);
EatMapKey(string value, ref int i)52 		string EatMapKey(string value, ref int i);
EatMapKeySeperator(string value, ref int i)53 		bool EatMapKeySeperator(string value, ref int i);
EatValue(string value, ref int i)54 		string EatValue(string value, ref int i);
EatItemSeperatorOrMapEndChar(string value, ref int i)55 		bool EatItemSeperatorOrMapEndChar(string value, ref int i);
56 	}
57 }