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 }