private JObject CalculateConfiguration() { var configuration = new JObject(); foreach (var layerConfiguration in _Configurations) { if (layerConfiguration != null) { JsonBuilder.Apply(layerConfiguration, configuration); } } return(configuration); }
private void ApplyCommandLineValueOverride([NotNull] JObject configuration, [NotNull] Match match) { var path = match.Groups["path"]?.Value ?? string.Empty; if (string.IsNullOrWhiteSpace(path)) { return; } var group = match.Groups["value"]; JetBrainsHelpers.assume(group != null); var stringValue = group.Success ? group.Value : "true"; JToken value = JsonBuilder.ValueFromString(stringValue); var valueConfiguration = JsonBuilder.Construct(path.Split('/'), value); JsonBuilder.Apply(valueConfiguration, configuration); }
public IEnumerable <IConfigurationLayer> Provide() { IDictionary environmentVariables = Environment.GetEnvironmentVariables(); var configuration = new JObject(); foreach (string key in environmentVariables.Keys) { if (!key.StartsWith(_Prefix, StringComparison.InvariantCultureIgnoreCase)) { continue; } var path = key.Substring(_Prefix.Length); var value = JsonBuilder.ValueFromString(environmentVariables[key]?.ToString() ?? string.Empty); var variableConfiguration = JsonBuilder.Construct(path.Split('/'), value); JsonBuilder.Apply(variableConfiguration, configuration); } yield return(new StaticConfigurationLayer(configuration)); }