A source can be scoped just like . Resulting source's data is exactly base source's data scoped to given path:
var baseSource = new JsonFileSource("settings.json");
var scopedSource = baseSource.ScopeTo("secrets");
var scopedTooFarSource = baseSource.ScopeTo("timeouts", "unknown-section");
Data in baseSource:
{
"Timeouts":
{
"DbTimeout": "20 seconds"
},
"Secrets":
{
"ApiKey": "xxxx-xxxx-xxxx"
}
}
Data in scopedSource:
{
"Secrets":
{
"ApiKey": "xxxx-xxxx-xxxx"
}
}