of static method
get a JsonConfig from BuildContext
Implementation
static JsonConfigData of(BuildContext context) {
final view = context.findAncestorWidgetOfExactType<JsonView>();
final body = context.findAncestorWidgetOfExactType<JsonViewBody>();
assert(
view == null || body == null,
'must provider a JsonView or JsonViewBody',
);
JsonConfigData? viewData;
if (view != null) {
viewData = JsonConfigData.fromJsonView(view);
} else if (body != null) {
viewData = JsonConfigData.fromJsonViewBody(body);
}
final current = context.dependOnInheritedWidgetOfExactType<JsonConfig>();
final fallback = JsonConfigData.fallback(context);
if (viewData == null) {
viewData = fallback.merge(current?.data);
} else {
viewData = fallback.merge(current?.data).merge(viewData);
}
return viewData;
}