using System.Text; namespace DevDisciples.Json.Tools; public static partial class JsonFormatter { public class Context { public const int DefaultIndentSize = 2; protected int Depth { get; set; } = 0; public StringBuilder Builder { get; } = new(); public bool Beautify { get; init; } = false; public string Indent => new(' ', Depth); public int IndentSize { get; init; } = DefaultIndentSize; public string NewLine => Beautify ? "\n" : ""; public string Space => Beautify ? " " : ""; public void IncrementDepth() => Depth += Beautify ? IndentSize : 0; public void DecrementDepth() => Depth -= Beautify ? IndentSize : 0; } }