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 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 SerializeEnumerableStart(IndentedTextWriter writer, MemberInfo member, IEnumerable enumerable) { if (member != null && member.IsDefined<KnockoutObservableAttribute>()) writer.Write(@"a(["); else writer.Write(@"["); }
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 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 SerializeCustomObjectStart(IndentedTextWriter writer, MemberInfo member, Object obj) { if (obj.GetType().IsDefined<KnockoutObservableAttribute>()) writer.Write(@"o(["); base.SerializeCustomObjectStart(writer, member, obj); }
protected override void SerializeObservableNull(IndentedTextWriter writer, MemberInfo member) { writer.Write(@"ko.observable(null)"); }
protected override void SerializeObservableString(IndentedTextWriter writer, MemberInfo member, String str) { writer.Write(@"ko.observable(""{0}"")", EncodeString(str)); }
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 SerializeObservableEnumerableEnd(IndentedTextWriter writer, MemberInfo member, IEnumerable enumerable) { writer.Write(@"])"); }
protected override void SerializeObservableBoolean(IndentedTextWriter writer, MemberInfo member, Boolean value) { writer.Write(@"ko.observable({0})", value ? @"true" : @"false"); }