示例#1
0
        private static void WriteValue(RavenJToken token, CountingWriter sw, int width, int numberOfLines)
		{
			switch (token.Type)
			{
				case JTokenType.Array:
                    WriteJsonArray((RavenJArray)token, sw, width, numberOfLines);
					break;
				case JTokenType.Object:
                    WriteJsonObject((RavenJObject)token, sw, width, numberOfLines);
					break;
				case JTokenType.Null:
					sw.Write("null");
					break;
				case JTokenType.String:
					sw.Write("\"");
					sw.Write(token.ToString()
								.NormalizeWhitespace()
                                .TrimmedViewOfString(width - sw.CharactersOnCurrentLine -1)
						);
                    sw.Write("\"");
					break;
				default:
                    sw.Write(token.ToString().TrimmedViewOfString(width - sw.CharactersOnCurrentLine - 1));
					break;
			}
		}
示例#2
0
        private static void WriteValue(RavenJToken token, CountingWriter sw, int width, int numberOfLines)
        {
            switch (token.Type)
            {
            case JTokenType.Array:
                WriteJsonArray((RavenJArray)token, sw, width, numberOfLines);
                break;

            case JTokenType.Object:
                WriteJsonObject((RavenJObject)token, sw, width, numberOfLines);
                break;

            case JTokenType.Null:
                sw.Write("null");
                break;

            case JTokenType.String:
                sw.Write("\"");
                sw.Write(token.ToString()
                         .NormalizeWhitespace()
                         .TrimmedViewOfString(width - sw.CharactersOnCurrentLine - 1)
                         );
                sw.Write("\"");
                break;

            default:
                sw.Write(token.ToString().TrimmedViewOfString(width - sw.CharactersOnCurrentLine - 1));
                break;
            }
        }
示例#3
0
        private static void WriteJsonArray(RavenJArray array, CountingWriter sw, int width, int numberOfLines)
        {
            sw.WriteLine("[");
            sw.PushIndent();

            var isFirstItem = true;

            foreach (var token in array.Values())
            {
                if (sw.LinesWritten >= numberOfLines)
                {
                    break;
                }

                if (isFirstItem)
                {
                    isFirstItem = false;
                }
                else
                {
                    sw.WriteLine(",");
                }
                WriteValue(token, sw, width, numberOfLines);
            }
            sw.WriteLine("");
            sw.PopIndent();
            sw.Write("]");
        }
示例#4
0
		private static void WriteJsonObject(RavenJObject ravenJObject, CountingWriter sw, int width, int numberOfLines)
		{
			sw.WriteLine("{");
			sw.PushIndent();

			foreach (var item in ravenJObject)
			{
                if (sw.LinesWritten > numberOfLines)
                    break;

				sw.Write(item.Key);
				sw.Write(": ");
                WriteValue(item.Value, sw, width, numberOfLines);
				sw.WriteLine("");
			}

			sw.PopIndent();
			sw.Write("}");
		}
示例#5
0
        private static void WriteJsonObject(RavenJObject ravenJObject, CountingWriter sw, int width, int numberOfLines)
        {
            sw.WriteLine("{");
            sw.PushIndent();

            foreach (var item in ravenJObject)
            {
                if (sw.LinesWritten > numberOfLines)
                {
                    break;
                }

                sw.Write(item.Key);
                sw.Write(": ");
                WriteValue(item.Value, sw, width, numberOfLines);
                sw.WriteLine("");
            }

            sw.PopIndent();
            sw.Write("}");
        }
示例#6
0
        private static void WriteJsonArray(RavenJArray array, CountingWriter sw, int width, int numberOfLines)
		{
			sw.WriteLine("[");
			sw.PushIndent();

			var isFirstItem = true;
			foreach (var token in array.Values())
			{
                if (sw.LinesWritten >= numberOfLines)
                    break;

				if (isFirstItem)
					isFirstItem = false;
				else
					sw.WriteLine(",");
                WriteValue(token, sw, width, numberOfLines);
			}
			sw.WriteLine("");
			sw.PopIndent();
			sw.Write("]");
		}