protected override void SerializeCustomObject(IndentedTextWriter writer, MemberInfo member, Object obj, Int32 depth) { if (false) { #if NET40_or_newer } else if (obj is IHtmlString) { SerializeString(writer, member, obj.ToString()); #endif } else { base.SerializeCustomObject(writer, member, obj, depth); } }
protected override void SerializeNull(IndentedTextWriter writer, MemberInfo member) { if (member != null && member.IsDefined<KnockoutObservableAttribute>()) writer.Write(@"o(null)"); else base.SerializeNull(writer, member); }
protected override void SerializeGuid(IndentedTextWriter writer, MemberInfo member, Guid value) { if (member != null && member.IsDefined<KnockoutObservableAttribute>()) writer.Write(@"o({0})", Ref(value)); else writer.Write(@"{0}", Ref(value)); }
protected override void SerializeEnumerableStart(IndentedTextWriter writer, MemberInfo member, IEnumerable enumerable) { if (member != null && member.IsDefined<KnockoutObservableAttribute>()) writer.Write(@"a(["); else writer.Write(@"["); }
protected override void SerializeCustomObjectStart(IndentedTextWriter writer, MemberInfo member, Object obj) { if (obj.GetType().IsDefined<KnockoutObservableAttribute>()) writer.Write(@"o(["); base.SerializeCustomObjectStart(writer, member, obj); }
protected override void SerializeBoolean(IndentedTextWriter writer, MemberInfo member, bool value) { if (member != null && member.IsDefined<KnockoutObservableAttribute>()) writer.Write(@"o({0})", value ? @"true" : @"false"); else writer.Write(@"{0}", value ? @"true" : @"false"); }
protected override void SerializeObservableEnumerableEnd(IndentedTextWriter writer, MemberInfo member, IEnumerable enumerable) { writer.Write(@"])"); }
protected override void SerializeString(IndentedTextWriter writer, MemberInfo member, string str) { var escaped = EncodeString(str); Check.NotNull(escaped, "escaped == null)"); Process(escaped); }
protected override void SerializeEnumerableEnd(IndentedTextWriter writer, MemberInfo member, IEnumerable enumerable) { if (member != null && member.IsDefined<KnockoutObservableAttribute>()) SerializeObservableEnumerableEnd(writer, member, enumerable); else base.SerializeEnumerableEnd(writer, member, enumerable); }
protected override void SerializeCustomObjectEnd(IndentedTextWriter writer, MemberInfo member, Object obj) { if (obj.GetType().IsDefined<KnockoutObservableAttribute>()) SerializeObservableCustomObjectEnd(writer, member, obj); else base.SerializeCustomObjectEnd(writer, member, obj); }
protected override void SerializeObservableString(IndentedTextWriter writer, MemberInfo member, String str) { writer.Write(@"ko.observable(""{0}"")", EncodeString(str)); }
protected override void SerializeObservableNull(IndentedTextWriter writer, MemberInfo member) { writer.Write(@"ko.observable(null)"); }
protected override void SerializeObservableInt32(IndentedTextWriter writer, MemberInfo member, Int32 value) { writer.Write(@"ko.observable(""{0}"")", value); }
protected override void SerializeObservableGuid(IndentedTextWriter writer, MemberInfo member, Guid id) { writer.Write(@"ko.observable(""{0}"")", id); }
protected override void SerializeObservableEnumerableStart(IndentedTextWriter writer, MemberInfo member, IEnumerable enumerable) { writer.Write(@"ko.observableArray(["); }
protected override void SerializeString(IndentedTextWriter writer, MemberInfo member, string str) { var result = str; if (member == null || !member.IsDefined<SerializeAsRawJsonAttribute>()) { result = "\"" + EncodeString(result) + "\""; } if (member != null && member.IsDefined<KnockoutObservableAttribute>()) result = "o(" + result + ")"; writer.Write(result); }
protected override void SerializeGuid(IndentedTextWriter writer, MemberInfo member, Guid value) { Process(value); }
protected override void SerializeInt32(IndentedTextWriter writer, MemberInfo member, Int32 value) { if (member != null && member.IsDefined<KnockoutObservableAttribute>()) SerializeObservableInt32(writer, member, value); else base.SerializeInt32(writer, member, value); }
protected override void SerializeString(IndentedTextWriter writer, MemberInfo member, String str) { if (member != null && member.IsDefined<KnockoutObservableAttribute>()) SerializeObservableString(writer, member, str); else base.SerializeString(writer, member, str); }
protected override void SerializeObservableBoolean(IndentedTextWriter writer, MemberInfo member, Boolean value) { writer.Write(@"ko.observable({0})", value ? @"true" : @"false"); }