예제 #1
0
 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);
 }
예제 #10
0
 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);
 }
예제 #11
0
 protected override void SerializeObservableString(IndentedTextWriter writer, MemberInfo member, String str)
 {
     writer.Write(@"ko.observable(""{0}"")", EncodeString(str));
 }
예제 #12
0
 protected override void SerializeObservableNull(IndentedTextWriter writer, MemberInfo member)
 {
     writer.Write(@"ko.observable(null)");
 }
예제 #13
0
 protected override void SerializeObservableInt32(IndentedTextWriter writer, MemberInfo member, Int32 value)
 {
     writer.Write(@"ko.observable(""{0}"")", value);
 }
예제 #14
0
 protected override void SerializeObservableGuid(IndentedTextWriter writer, MemberInfo member, Guid id)
 {
     writer.Write(@"ko.observable(""{0}"")", id);
 }
예제 #15
0
 protected override void SerializeObservableEnumerableStart(IndentedTextWriter writer, MemberInfo member, IEnumerable enumerable)
 {
     writer.Write(@"ko.observableArray([");
 }
예제 #16
0
            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);
            }
예제 #17
0
 protected override void SerializeGuid(IndentedTextWriter writer, MemberInfo member, Guid value)
 {
     Process(value);
 }
예제 #18
0
 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);
 }
예제 #19
0
 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);
 }
예제 #20
0
 protected override void SerializeObservableBoolean(IndentedTextWriter writer, MemberInfo member, Boolean value)
 {
     writer.Write(@"ko.observable({0})", value ? @"true" : @"false");
 }