private static void WriteFileItem(JsonWriter writer, LockFileItem item) { writer.WritePropertyName(item.Path); writer.WriteStartObject(); foreach (var property in item.Properties.OrderBy(x => x.Key, StringComparer.Ordinal)) { writer.WritePropertyName(property.Key); if (bool.TrueString.Equals(property.Value, StringComparison.OrdinalIgnoreCase)) { writer.WriteValue(true); } else if (bool.FalseString.Equals(property.Value, StringComparison.OrdinalIgnoreCase)) { writer.WriteValue(false); } else { writer.WriteValue(property.Value); } } writer.WriteEndObject(); }
private LockFileItem ReadFileItem(string property, JToken json) { var item = new LockFileItem(property); foreach (var subProperty in json.OfType <JProperty>()) { item.Properties[subProperty.Name] = subProperty.Value.Value <string>(); } return(item); }
private static JProperty WriteFileItem(LockFileItem item) { return(new JProperty( item.Path, new JObject(item.Properties.OrderBy(prop => prop.Key, StringComparer.Ordinal).Select(x => { if (bool.TrueString.Equals(x.Value, StringComparison.OrdinalIgnoreCase)) { return new JProperty(x.Key, true); } else if (bool.FalseString.Equals(x.Value, StringComparison.OrdinalIgnoreCase)) { return new JProperty(x.Key, false); } else { return new JProperty(x.Key, x.Value); } })))); }
private JProperty WriteFileItem(LockFileItem item) { return(new JProperty( item.Path, new JObject(item.Properties.Select(x => new JProperty(x.Key, x.Value))))); }