public PropertyFormattingRulesCollection ToModel() { var model = new PropertyFormattingRulesCollection(); foreach (var propertyRuleDto in this) { model.AddPatternRule(propertyRuleDto.PropertyPattern, propertyRuleDto.Rules); } return(model); }
/// <summary> /// Initializes an instance of the <see cref="JsonFormatter"/> Type /// </summary> /// <param name="propertyFormattingRulesCollection"></param> public JsonFormatter(PropertyFormattingRulesCollection propertyFormattingRulesCollection = null) { PropertyFormattingRulesCollection = propertyFormattingRulesCollection ?? new PropertyFormattingRulesCollection(); }
public Context(TextWriter writer, PropertyFormattingRulesCollection propertyFormattingRulesCollection) { _writer = writer; _propertyFormattingRulesCollection = propertyFormattingRulesCollection; _nesting.Add(new Nesting()); ApplyRule(); }
private static int Main(string[] args) { var settings = new Settings(); settings.Parse(args); if (settings.ShowHelp) { settings.WriteOptionDescriptions(); return(0); } if (settings.ShowExampleRulesFile) { ShowExampleRulesFile(); return(0); } TextReader reader = null; try { // read from file or console if file not specified reader = settings.InputFile == null ? Console.In : File.OpenText(settings.InputFile); var jsonIn = reader.ReadToEnd(); // get input object var deserializedObject = JsonConvert.DeserializeObject <JToken>(jsonIn); // build the formatter PropertyFormattingRulesCollection rules = null; if (settings.RulesFile != null) { var rulesDto = JsonConvert.DeserializeObject <PropertyRulesCollectionDto>(File.ReadAllText(settings.RulesFile)); rules = rulesDto.ToModel(); } var formatter = new JsonFormatter(rules); // serialize the formatted json var jsonOut = formatter.Stringify(deserializedObject); // write to file or console if no file specified if (settings.OutputFile == null) { Console.Out.WriteLine(jsonOut); } else { File.WriteAllText(settings.OutputFile, jsonOut); } } catch (Exception ex) { // something nasty happened Console.Error.WriteLine("Abnormal program termination: exception encountered"); Console.Error.WriteLine(ex); return(1); } finally { if (reader != null) { reader.Dispose(); } } // all good return(0); }